Ontwikkel software met behulp van geavanceerde documentoptimaliserende API, creëer platformonafhankelijke code op hoog niveau voor .NET en .NET Core -platforms. Dit is een krachtige oplossing om documenten en afbeeldingen in C#, F#, VB.NET te comprimeren.
Grote bestanden kleiner maken zonder kwaliteitsverlies. Verwijder onnodige en ongebruikte gegevens. Verklein de grootte van Word en HTML bestanden in C#. Onze C# bibliotheek biedt ontwikkelaars een geïntegreerde API om documenten in verschillende formaten te optimaliseren.
Deze C# bibliotheek is een stand-alone oplossing en vereist geen installatie van software van derden.
Het maximale effect kan worden bereikt door het optimaliseren van afbeeldingen met een hoge resolutie, evenals documenten die dergelijke afbeeldingen bevatten. Onze C# bibliotheek helpt u bij het comprimeren van DOCX, DOC, RTF, ODT, EPUB, HTML, JPG en PNG bestanden.
Optimalisatie van documenten zonder kwaliteitsverlies gemakkelijk gemaakt met 'Aspose.Words for .NET'. Het volgende voorbeeld laat zien hoe u de grootte van een Word document in C#:
dotnet add package Aspose.Words
Kopiëren
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)
{
// Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimeer de afbeelding en zet deze terug in de vorm.
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)
{
// Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimeer de afbeelding en zet deze terug in de vorm.
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)
{
// Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen.
using var image = Image.Fromstream(shape.ImageData.ToStream());
// ...
// Comprimeer de afbeelding en zet deze terug in de vorm.
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)
{
// Het is aan de ontwikkelaar om de bibliotheek voor beeldcompressie te kiezen.
using var image = Image.FromStream(shape.ImageData.ToStream());
// ...
// Comprimeer de afbeelding en zet deze terug in de vorm.
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)
{
// Stel de maximale paginagrootte in om te voorkomen dat de huidige pagina-afbeelding wordt geschaald.
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;
}
Er zijn drie alternatieve opties om "Aspose.Words voor .NET" op uw systeem te installeren. Kies er een die overeenkomt met uw behoeften en volg de stapsgewijze instructies:
Ons product is volledig platformonafhankelijk en ondersteunt alle belangrijke .NET-implementaties:
Voor zover .NET-code niet afhankelijk is van de onderliggende hardware of het besturingssysteem, maar alleen van een virtuele machine, bent u vrij om elke vorm van software te ontwikkelen voor Windows, macOS, Android, iOS en Linux. Zorg ervoor dat u de overeenkomstige versie van .NET Framework, .NET Core, Windows Azure, Mono of Xamarin hebt geïnstalleerd.
We raden u aan de geïntegreerde ontwikkelomgevingen van Microsoft Visual Studio, Xamarin en MonoDevelop te gebruiken om C#, F#, VB.NET applicaties te maken.
Voor meer details verwijzen wij u naar de productdocumentatie.