Kód pro komprimaci PDF v C#

Vysoce výkonná knihovna .NET pro optimalizaci obsahu a velikosti PDF při zachování původní kvality a výchozích dat

Toto je profesionální řešení pro kompresi PDF pomocí C#, F#, VB.NET. Použijte naše optimalizační rozhraní API PDF k vývoji softwaru na vysoké úrovni, nezávislého na platformě pro .NET a .NET Core. Vyzkoušejte to online zdarma!

Zobrazit fragment kódu

Komprimujte PDF v C#

Tato knihovna C# poskytuje vývojářům možnost rychle a efektivně programově komprimovat PDF dokumenty. Získejte snadno optimalizovaný výstup PDF připravený pro tisk, archivaci nebo sdílení po síti. Jedná se o samostatné řešení pro zpracování PDF dokumentů pro C#, které nevyžaduje instalaci žádného softwaru třetích stran.

Zmenšete velikost PDF pomocí C#

Náš produkt poskytuje vývojářům C# integrované rozhraní API pro snížení velikosti PDF souborů. Komprese PDF se provádí ve dvou průchodech. Během prvního průchodu jsou všechny stránky PDF převedeny do obrazového formátu. Náš produkt využívá adaptivní a vysoce účinné algoritmy komprese obrázků, které umožňují vývojářům získat kompaktní výstup PDF při zachování optimální kvality dokumentu. Při dalším průchodu je sekvence obrázků zkomprimována a zkombinována tak, aby vytvořila obsah nového optimalizovaného PDF souboru.

Komprese PDF je snadná s 'Aspose.Words for .NET'. Následující příklad ukazuje, jak zmenšit velikost PDF souboru v C#:

Příklad kódu v C# pro komprimaci PDF souborů
Nahrajte soubor, který chcete optimalizovat/komprimovat
Spustit kód
Vyberte cílový formát ze seznamu
50%
dotnet add package Aspose.Words
Kopírovat
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)
{
    // Nastavení maximální velikosti stránky, aby se předešlo změně měřítka aktuální 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áři, aby si vybral knihovnu pro kompresi obrázků. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimujte obrázek a nastavte jej zpět 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áři, aby zvolil knihovnu pro kompresi obrázků. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Komprimujte obrázek a nastavte jej zpět 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áři, aby si vybral knihovnu pro kompresi obrázků. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Komprimujte obrázek a nastavte jej zpět 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) { // Nastavení maximální velikosti stránky, aby se předešlo změně měřítka aktuální 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; }
Spustit kód

Jak komprimovat PDF v C#

  1. Nainstalujte Aspose.Words for .NET.
  2. Přidejte odkaz na knihovnu (importujte knihovnu) do svého C# projektu.
  3. Otevřete zdrojový PDF soubor v C#.
  4. Komprimujte PDF bez ztráty kvality.
  5. Zavolejte metodu Document.Cleanup(). Výsledný kód se může lišit v závislosti na formátu výstupního souboru.
  6. Získejte komprimovaný výsledek jako PDF soubor.

Knihovna C# k optimalizaci a komprimaci PDF souborů

Existují tři alternativní možnosti instalace "Aspose.Words for .NET" do vašeho systému. Vyberte si prosím ten, který odpovídá vašim potřebám, a postupujte podle pokynů krok za krokem:

Požadavky na systém

Náš produkt je plně multiplatformní a podporuje všechny hlavní implementace .NET:

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

Pokud kód .NET nezávisí na základním hardwaru nebo operačním systému, ale pouze na virtuálním počítači, můžete vyvíjet jakýkoli druh softwaru pro Windows, macOS, Android, iOS a Linux. Jen se ujistěte, že máte nainstalovanou odpovídající verzi .NET Framework, .NET Core, Windows Azure, Mono nebo Xamarin.

K vytváření aplikací C#, F#, VB.NET doporučujeme používat integrovaná vývojová prostředí Microsoft Visual Studio, Xamarin a MonoDevelop.

Další podrobnosti naleznete v dokumentaci k produktu.

Další podporované optimalizace formátu souborů

Můžete optimalizovat soubory v mnoha dalších formátech souborů:

5%

Přihlaste se k odběru aktualizací produktu Aspose

Získejte měsíční zpravodaje a nabídky přímo do vaší poštovní schránky.

© Aspose Pty Ltd 2001-2024. Všechna práva vyhrazena.