Kôd za komprimiranje PDF u C#

.NET knjižnica visoke izvedbe za optimizaciju sadržaja i veličine PDF zadržavajući izvornu kvalitetu i osnovne podatke

Ovo je profesionalno rješenje za komprimiranje PDF pomoću C#, F#, VB.NET. Koristite naš PDF API za optimizaciju za razvoj softvera visoke razine, neovisnog o platformi za platforme .NET i .NET Core. Isprobajte online besplatno!

Pogledajte isječak koda

Komprimirajte PDF u C#

Ova C# biblioteka pruža programerima mogućnost brzog i učinkovitog programskog komprimiranja PDF dokumenata. Jednostavno pripremite optimizirani PDF izlaz spreman za ispis, arhiviranje ili dijeljenje putem mreže. To je samostalno rješenje za obradu PDF dokumenata za C# koje ne zahtijeva instaliranje softvera treće strane.

Smanjite veličinu PDF a pomoću C#

Naš proizvod omogućuje C# programerima integrirani API za smanjenje veličine PDF datoteka. PDF kompresija se izvodi u dva prolaza. Tijekom prvog prolaza, sve stranice PDF a se pretvaraju u slikovni format. Naš proizvod koristi prilagodljive i vrlo učinkovite algoritme kompresije slike koji programerima omogućuju kompaktan PDF izlaz uz zadržavanje optimalne kvalitete dokumenta. Na sljedećem prolazu, slijed slika se komprimira i kombinira kako bi se formirao sadržaj nove, optimizirane PDF datoteke.

Kompresija PDF a pojednostavljena uz 'Aspose.Words for .NET'. Sljedeći primjer pokazuje kako smanjiti veličinu PDF datoteke u C#:

Primjer koda u C# za komprimiranje PDF datoteka
Prenesite datoteku koju želite optimizirati/komprimirati
Pokreni kôd
Odaberite ciljni format s popisa
50%
dotnet add package Aspose.Words
Kopirati
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)
{
    // 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.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) { // 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.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) { // 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.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) { // 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.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) { // 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.pdf", saveOptions); private void SetPageSize(PageSetup pageSetup, double width, double height) { pageSetup.PageWidth = width; pageSetup.PageHeight = height; }
Pokreni kôd

Kako komprimirati PDF u C#

  1. Instalirajte Aspose.Words for .NET.
  2. Dodajte referencu biblioteke (uvezite biblioteku) svom C# projektu.
  3. Otvorite izvornu PDF datoteku u C#.
  4. Sažimanje PDF bez gubitka kvalitete.
  5. Pozovite metodu Document.Cleanup(). Rezultirajući kod može varirati ovisno o formatu izlazne datoteke.
  6. Dobijte komprimirani rezultat kao PDF datoteku.

C# biblioteka za optimizaciju i komprimiranje PDF datoteka

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:

Zahtjevi sustava

Naš je proizvod u potpunosti višeplatformski i podržava sve glavne implementacije .NET-a:

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

Š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.

Ostale podržane optimizacije formata datoteke

Možete optimizirati datoteke u mnogim drugim formatima datoteka:

5%

Pretplatite se na Aspose ažuriranja proizvoda

Primajte mjesečne biltene i ponude izravno u vaš poštanski sandučić.

© Aspose Pty Ltd 2001-2024. Sva prava pridržana.