Razvijte softver koristeći napredni API za optimizaciju dokumenata, izradite kod na visokoj razini, neovisan o platformi za .NET i .NET Core platforme. Ovo je moćno rješenje za komprimiranje dokumenata i slika u C#, F#, VB.NET.
Smanjite velike datoteke bez gubitka kvalitete. Izbrišite nepotrebne i neiskorištene podatke. Smanjite veličinu Word i HTML datoteka u C#. Naša C# biblioteka pruža programerima integrirani API za optimizaciju dokumenata u različitim formatima.
Ova C# biblioteka je samostalno rješenje i ne zahtijeva instaliran softver treće strane.
Maksimalni učinak može se postići optimizacijom slika visoke razlučivosti, kao i dokumenata koji sadrže takve slike. Naša C# biblioteka pomoći će vam da komprimirate DOCX, DOC, RTF, ODT, EPUB, HTML, JPG, PNG datoteke.
Optimizacija dokumenata bez gubitka kvalitete olakšana uz 'Aspose.Words for .NET'. Sljedeći primjer pokazuje kako smanjiti veličinu Word dokumenta u 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)
{
// Na programeru je da odabere biblioteku za kompresiju slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimirajte sliku i vratite je u oblik.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new OoxmlSaveOptions
{
CompressionLevel = CompressionLevel.Maximum
};
doc.Save("Output.docx", 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)
{
// Na programeru je da odabere biblioteku za kompresiju slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimirajte sliku i vratite je u oblik.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new PdfSaveOptions
{
CacheBackgroundGraphics = true
};
doc.Save("Output.docx", 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)
{
// Na programeru je da odabere biblioteku za kompresiju slike.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Komprimirajte sliku i vratite je u oblik.
shape.ImageData.SetImage("yourCompressedImage");
}
}
doc.Save("Output.docx");
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)
{
// Na programeru je da odabere biblioteku za kompresiju slike.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Komprimirajte sliku i vratite je u oblik.
shape.ImageData.SetImage("yourCompressedImage");
}
}
var saveOptions = new OoxmlSaveOptions
{
CompressionLevel = CompressionLevel.Maximum
};
doc.Save("Output.docx", 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.docx", 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)
{
// Postavite maksimalnu veličinu stranice kako biste izbjegli skaliranje trenutne slike stranice.
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.docx", saveOptions);
private void SetPageSize(PageSetup pageSetup, double width, double height)
{
pageSetup.PageWidth = width;
pageSetup.PageHeight = height;
}
Postoje tri alternativne opcije za instalaciju "Aspose.Words za .NET" na vaš sustav. Odaberite onaj koji odgovara vašim potrebama i slijedite upute korak po korak:
Naš je proizvod u potpunosti višeplatformski i podržava sve glavne implementacije .NET-a:
Što se tiče .NET koda koji ne ovisi o osnovnom hardveru ili operativnom sustavu, već samo o virtualnom stroju, slobodni ste razvijati bilo koju vrstu softvera za Windows, macOS, Android, iOS i Linux. Samo provjerite jeste li instalirali odgovarajuću verziju .NET Framework, .NET Core, Windows Azure, Mono ili Xamarin.
Preporučujemo korištenje integriranih razvojnih okruženja Microsoft Visual Studio, Xamarin i MonoDevelop za izradu C#, F#, VB.NET aplikacija.
Za više detalja pogledajte dokumentaciju proizvoda.