De code om PDF te comprimeren in C#

Krachtige .NET bibliotheek om PDF inhoud en grootte te optimaliseren met behoud van de oorspronkelijke kwaliteit en basislijngegevens

Dit is een professionele oplossing om PDF te comprimeren met C#, F#, VB.NET. Gebruik onze PDF optimalisatie API om platformonafhankelijke software op hoog niveau te ontwikkelen voor .NET en .NET Core -platforms. Probeer het gratis online!

Codefragment bekijken

Comprimeer PDF in C#

Deze C# bibliotheek biedt ontwikkelaars de mogelijkheid om PDF documenten snel en efficiënt programmatisch te comprimeren. Maak eenvoudig geoptimaliseerde PDF uitvoer die klaar is om af te drukken, te archiveren of te delen via het netwerk. Het is een zelfstandige oplossing voor het verwerken van PDF documenten voor C# waarvoor geen software van derden hoeft te worden geïnstalleerd.

Verklein de grootte van een PDF met C#

Ons product biedt C# ontwikkelaars een geïntegreerde API om de grootte van PDF bestanden te verkleinen. PDF compressie wordt in twee stappen uitgevoerd. Tijdens de eerste doorgang worden alle pagina's van de PDF geconverteerd naar afbeeldingsformaat. Ons product maakt gebruik van adaptieve en zeer efficiënte algoritmen voor beeldcompressie waarmee ontwikkelaars compacte PDF uitvoer kunnen krijgen met behoud van de optimale kwaliteit van het document. Bij de volgende doorgang wordt de reeks afbeeldingen gecomprimeerd en gecombineerd om de inhoud van een nieuw, geoptimaliseerd PDF bestand te vormen.

PDF compressie gemakkelijk gemaakt met 'Aspose.Words for .NET'. Het volgende voorbeeld laat zien hoe u de grootte van een PDF bestand in C# kunt verkleinen:

Codevoorbeeld in C# om PDF bestanden te comprimeren
Upload een bestand dat u wilt optimaliseren/comprimeren
Voer code uit
Selecteer het doelformaat uit de lijst
50%
using Aspose.Words;
using Aspose.Words.Pdf2Word.FixedFormats;

using var pdfStream = File.OpenRead("Input.pdf");

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.pdf", saveOptions);

private void SetPageSize(PageSetup pageSetup, double width, double height)
{
    pageSetup.PageWidth = width;
    pageSetup.PageHeight = height;
}
using Aspose.Words; var doc = new Document("Input.pdf"); 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.pdf", saveOptions); using Aspose.Words; var doc = new Document("Input.pdf"); 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.pdf"); using Aspose.Words; var doc = new Document("Input.pdf"); 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.pdf", saveOptions); using Aspose.Words; var doc = new Document(); var builder = new DocumentBuilder(doc); var shape = builder.InsertImage("Input.pdf"); // Werk de pagina-instellingen bij om het document bij te snijden zodat het op het formaat van de afbeelding past. var pageSetup = builder.PageSetup; pageSetup.PageWidth = shape.Width; pageSetup.PageHeight = shape.Height; pageSetup.TopMargin = 0; pageSetup.LeftMargin = 0; pageSetup.BottomMargin = 0; pageSetup.RightMargin = 0; var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; doc.Save("Output.pdf", saveOptions); using Aspose.Words; using Aspose.Words.Pdf2Word.FixedFormats; using var pdfStream = File.OpenRead("Input.pdf"); 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.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
Voer code uit

Hoe u PDF comprimeert

  1. Installeer Aspose.Words for .NET.
  2. Voeg een bibliotheekreferentie toe (importeer de bibliotheek) aan uw C# project.
  3. Open het bronbestand PDF in C#.
  4. Comprimeer PDF zonder kwaliteitsverlies.
  5. Roep de methode Document.Cleanup() aan. De resulterende code kan variëren, afhankelijk van het uitvoerbestandsformaat.
  6. Haal het gecomprimeerde resultaat op als een PDF bestand.

C# bibliotheek om PDF bestanden te optimaliseren en te comprimeren

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:

systeem vereisten

Ons product is volledig platformonafhankelijk en ondersteunt alle belangrijke .NET-implementaties:

  • .NET ≥ 5.0
  • .NET Core ≥ 2.0
  • .NET Standard ≥ 2.0
  • .NET Framework ≥ 3.5
  • MonoMac
  • MonoAndroid
  • Xamarin

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.

Andere ondersteunde optimalisaties van bestandsindelingen

U kunt bestanden in vele andere bestandsindelingen optimaliseren:

5%

Abonneer u op productupdates van Aspose

Ontvang maandelijkse nieuwsbrieven en aanbiedingen direct in je mailbox.

© Aspose Pty Ltd 2001-2024. Alle rechten voorbehouden.