Kód na kompresiu PDF v C#

Vysokovýkonná knižnica .NET na optimalizáciu obsahu a veľkosti PDF pri zachovaní pôvodnej kvality a základných údajov

Toto je profesionálne riešenie na kompresiu PDF pomocou C#, F#, VB.NET. Použite naše rozhranie API na optimalizáciu PDF na vývoj softvéru na vysokej úrovni, ktorý je nezávislý od platformy pre platformy .NET a .NET Core. Vyskúšajte to online zadarmo!

Zobraziť útržok kódu

Komprimujte PDF v C#

Táto knižnica C# poskytuje vývojárom možnosť rýchlo a efektívne programovo komprimovať PDF dokumenty. Jednoducho získajte optimalizovaný výstup PDF pripravený na tlač, archiváciu alebo zdieľanie cez sieť. Je to samostatné riešenie na spracovanie PDF dokumentov pre C#, ktoré nevyžaduje inštaláciu softvéru tretích strán.

Zmenšite veľkosť PDF pomocou C#

Náš produkt poskytuje vývojárom C# integrované rozhranie API na zníženie veľkosti PDF súborov. Kompresia PDF sa vykonáva v dvoch prechodoch. Počas prvého prechodu sa všetky strany PDF skonvertujú do obrazového formátu. Náš produkt využíva adaptívne a vysoko efektívne algoritmy kompresie obrázkov, ktoré umožňujú vývojárom získať kompaktný výstup PDF pri zachovaní optimálnej kvality dokumentu. Pri ďalšom prechode sa sekvencia obrázkov skomprimuje a skombinuje tak, aby vytvoril obsah nového optimalizovaného PDF súboru.

Kompresia PDF je jednoduchá vďaka 'Aspose.Words for .NET'. Nasledujúci príklad ukazuje, ako zmenšiť veľkosť PDF súboru v C#:

Príklad kódu v C# na kompresiu PDF súborov
Nahrajte súbor, ktorý chcete optimalizovať/komprimovať
Spustiť kód
Vyberte cieľový formát zo zoznamu
50%
dotnet add package Aspose.Words
Kopírovať
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)
{
    // Nastavte maximálnu veľkosť stránky, aby ste sa vyhli zmene mierky obrazu aktuálnej stránky.
    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) { // Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimujte obrázok a nastavte ho späť do tvaru. 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) { // Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Komprimujte obrázok a nastavte ho späť do tvaru. 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) { // Je na vývojárovi, aby si vybral knižnicu na kompresiu obrázkov. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimujte obrázok a nastavte ho späť do tvaru. 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) { // Nastavte maximálnu veľkosť stránky, aby ste sa vyhli zmene mierky obrazu aktuálnej stránky. 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; }
Spustiť kód

Ako komprimovať PDF

  1. Nainštalujte Aspose.Words for .NET.
  2. Pridajte odkaz na knižnicu (importujte knižnicu) do svojho C# projektu.
  3. Otvorte zdrojový PDF súbor v C#.
  4. Komprimujte PDF bez straty kvality.
  5. Zavolajte metódu Document.Cleanup(). Výsledný kód sa môže líšiť v závislosti od formátu výstupného súboru.
  6. Získajte komprimovaný výsledok ako PDF súbor.

Knižnica C# na optimalizáciu a kompresiu PDF súborov

Existujú tri alternatívne možnosti inštalácie "Aspose.Words for .NET" do vášho systému. Vyberte si ten, ktorý zodpovedá vašim potrebám, a postupujte podľa pokynov krok za krokom:

Požiadavky na systém

Náš produkt je plne multiplatformový a podporuje všetky hlavné implementácie .NET:

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

Pokiaľ kód .NET nezávisí od základného hardvéru alebo operačného systému, ale iba od virtuálneho počítača, môžete slobodne vyvíjať akýkoľvek druh softvéru pre Windows, macOS, Android, iOS a Linux. Len sa uistite, že máte nainštalovanú zodpovedajúcu verziu .NET Framework, .NET Core, Windows Azure, Mono alebo Xamarin.

Na vytváranie aplikácií C#, F#, VB.NET odporúčame používať integrované vývojové prostredia Microsoft Visual Studio, Xamarin a MonoDevelop.

Ďalšie podrobnosti nájdete v dokumentácii k produktu.

Ďalšie podporované optimalizácie formátu súborov

Môžete optimalizovať súbory v mnohých iných formátoch súborov:

5%

Prihláste sa na odber aktualizácií produktov Aspose

Získajte mesačné bulletiny a ponuky priamo do vašej poštovej schránky.

© Aspose Pty Ltd 2001-2024. Všetky práva vyhradené.