To je profesionalna rešitev za stiskanje EPUB s C#, F#, VB.NET. Uporabite naš API za optimizacijo EPUB za razvoj programske opreme na visoki ravni, neodvisne od platforme za platforme .NET in .NET Core. Preizkusite na spletu brezplačno!
Trenutno ne sprejemamo datotek DOCX kot vhoda. Lahko pa izdelamo datoteke DOCX kot izhod. V bližnji prihodnosti pričakujemo popolno podporo za DOCX.
Knjižnica C# je samostojna rešitev in ne zahteva nameščene programske opreme tretjih oseb.
Pomanjšajte datoteke DOCX brez izgube kakovosti. Knjižnica C# razvijalcem ponuja integriran API za optimizacijo vsebine DOCX. Optimizacija DOCX se zgodi s stiskanjem slik v datotekah DOCX, pa tudi z odstranjevanjem neuporabljenih podatkov.
Stiskanje e-knjig brez izgub in optimizacija vsebine sta preprosta z 'Aspose.Words for .NET'. Naslednji primer prikazuje, kako optimizirati vsebino datoteke DOCX v C#:
dotnet add package Aspose.Words
Kopirati
using Aspose.Words;
var doc = new Document("Input.docx");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Razvijalec mora izbrati knjižnico za stiskanje slik.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo vrnite v obliko.
shape.ImageData.SetImage("yourCompressedImage");
}
}
doc.Save("Output.epub");
using Aspose.Words;
var doc = new Document("Input.docx");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new PdfSaveOptions
{
CacheBackgroundGraphics = true
};
doc.Save("Output.epub", saveOptions);
using Aspose.Words;
var doc = new Document("Input.docx");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Razvijalec mora izbrati knjižnico za stiskanje slik.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo vrnite v obliko.
shape.ImageData.SetImage("yourCompressedImage");
}
}
doc.Save("Output.epub");
using Aspose.Words;
var doc = new Document("Input.docx");
doc.Cleanup();
var nodes = doc.GetChildNodes(NodeType.Shape, true);
foreach (Shape shape in nodes)
{
if (shape.IsImage)
{
// Razvijalec mora izbrati knjižnico za stiskanje slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Stisnite sliko in jo nastavite nazaj v obliko.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new OoxmlSaveOptions
{
CompressionLevel = CompressionLevel.Maximum
};
doc.Save("Output.epub", saveOptions);
using Aspose.Words;
var doc = new Document();
var builder = new DocumentBuilder(doc);
var shape = builder.InsertImage("Input.docx");
var saveOptions = new ImageSaveOptions(SaveFormat.Docx)
{
};
shape.GetShapeRenderer().Save("Output.epub", saveOptions);
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;
using var pdfStream = File.OpenRead("Input.docx");
var renderer = new PdfFixedRenderer();
var pdfReadOptions = new PdfFixedOptions
{
ImageFormat = FixedImageFormat.Jpeg,
JpegQuality = 50
};
const double maxPageDimension = 1584;
var pagesStream = renderer.SavePdfAsImages(pdfStream, pdfReadOptions);
var builder = new DocumentBuilder();
for (var i = 0; i < pagesStream.Count; ++i)
{
// Nastavite največjo velikost strani, da se izognete spreminjanju velikosti slike trenutne strani.
var pageSetup = builder.PageSetup;
SetPageSize(pageSetup, maxPageDimension, maxPageDimension);
var pageImage = builder.InsertImage(pagesStream[i]);
SetPageSize(pageSetup, pageImage.Width, pageImage.Height);
pageSetup.TopMargin = 0;
pageSetup.LeftMargin = 0;
pageSetup.BottomMargin = 0;
pageSetup.RightMargin = 0;
if (i != pagesStream.Count - 1)
builder.InsertBreak(BreakType.SectionBreakNewPage);
}
var saveOptions = new PdfSaveOptions
{
CacheBackgroundGraphics = true
};
builder.Document.Save("Output.epub", saveOptions);
private void SetPageSize(PageSetup pageSetup, double width, double height)
{
pageSetup.PageWidth = width;
pageSetup.PageHeight = height;
}
Obstajajo tri alternativne možnosti za namestitev "Aspose.Words za .NET" v vaš sistem. Izberite tistega, ki ustreza vašim potrebam, in sledite navodilom po korakih:
Naš izdelek je popolnoma večplatformski in podpira vse glavne implementacije .NET:
Kar zadeva kodo .NET, ki ni odvisna od osnovne strojne opreme ali operacijskega sistema, ampak samo od navideznega stroja, lahko prosto razvijate kakršno koli programsko opremo za Windows, macOS, Android, iOS in Linux. Prepričajte se le, da ste namestili ustrezno različico .NET Framework, .NET Core, Windows Azure, Mono ali Xamarin.
Priporočamo uporabo integriranih razvojnih okolij Microsoft Visual Studio, Xamarin in MonoDevelop za ustvarjanje aplikacij C#, F#, VB.NET.
Za več podrobnosti glejte dokumentacijo izdelka.
Datoteke lahko optimizirate v številnih drugih oblikah datotek: