Koden til at komprimere PDF i C#

Højtydende .NET bibliotek til at optimere PDF indhold og -størrelse ved at bevare den originale kvalitet og basisdata

Dette er en professionel løsning til at komprimere PDF ved hjælp af C#, F#, VB.NET. Brug vores PDF optimerings API til at udvikle platform-uafhængig software på højt niveau til .NET og .NET Core -platforme. Prøv det gratis online!

Se kodestykket

Komprimer PDF i C#

Dette C# bibliotek giver udviklere mulighed for hurtigt og effektivt at komprimere PDF dokumenter programmatisk. Få nemt optimeret PDF output klar til udskrivning, arkivering eller deling over netværket. Det er en selvstændig PDF dokumentbehandlingsløsning til C#, der ikke kræver nogen tredjepartssoftware, der skal installeres.

Reducer størrelsen af en PDF ved hjælp af C#

Vores produkt giver C# udviklere en integreret API til at reducere størrelsen af PDF filer. PDF komprimering udføres i to omgange. I løbet af det første gennemløb konverteres alle sider i PDF'en til billedformat. Vores produkt bruger adaptive og højeffektive billedkomprimeringsalgoritmer, der gør det muligt for udviklere at få kompakt PDF output og samtidig bevare den optimale kvalitet af dokumentet. Ved næste gennemløb komprimeres billedsekvensen og kombineres for at danne indholdet af en ny, optimeret PDF fil.

PDF komprimering gjort let med 'Aspose.Words for .NET'. Følgende eksempel viser, hvordan du reducerer størrelsen af en PDF fil i C#:

Kodeeksempel i C# for at komprimere PDF filer
Upload en fil, du vil optimere/komprimere
Kør kode
Vælg målformatet fra listen
50%
dotnet add package Aspose.Words
Kopi
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)
{
    // Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede.
    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) { // Det er op til udvikleren at vælge biblioteket til billedkomprimering. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimer billedet og sæt det tilbage til formen. 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) { // Det er op til udvikleren at vælge biblioteket til billedkomprimering. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Komprimer billedet og sæt det tilbage til formen. 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) { // Det er op til udvikleren at vælge biblioteket til billedkomprimering. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimer billedet og sæt det tilbage til formen. 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"); var saveOptions = new ImageSaveOptions(SaveFormat.Pdf) { }; shape.GetShapeRenderer().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) { // Indstil maksimal sidestørrelse for at undgå skalering af det aktuelle sidebillede. 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; }
Kør kode

Sådan komprimeres PDF i C#

  1. Installer Aspose.Words for .NET.
  2. Tilføj en biblioteksreference (importér biblioteket) til dit C# projekt.
  3. Åbn kilde PDF filen i C#.
  4. Komprimer PDF uden at miste kvalitet.
  5. Kald metoden Document.Cleanup(). Den resulterende kode kan variere afhængigt af outputfilformatet.
  6. Få det komprimerede resultat som en PDF fil.

C# bibliotek for at optimere og komprimere PDF filer

Der er tre alternative muligheder for at installere "Aspose.Words til .NET" på dit system. Vælg venligst en, der ligner dine behov, og følg trin-for-trin instruktionerne:

Systemkrav

Vores produkt er fuldt ud på tværs af platforme og understøtter alle større .NET-implementeringer:

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

For så vidt .NET-kode ikke afhænger af den underliggende hardware eller operativsystem, men kun af en virtuel maskine, er du fri til at udvikle enhver form for software til Windows, macOS, Android, iOS og Linux. Bare sørg for, at du har installeret den tilsvarende version af .NET Framework, .NET Core, Windows Azure, Mono eller Xamarin.

Vi anbefaler at bruge Microsoft Visual Studio, Xamarin og MonoDevelop integrerede udviklingsmiljøer til at skabe C#, F#, VB.NET applikationer.

Se produktdokumentation for flere detaljer.

Andre understøttede filformatoptimeringer

Du kan optimere filer i mange andre filformater:

5%

Abonner på Aspose produktopdateringer

Få månedlige nyhedsbreve og tilbud leveret direkte til din postkasse.

© Aspose Pty Ltd 2001-2024. Alle rettigheder forbeholdes.