Kod do kompresji PDF w C#

Wydajna biblioteka .NET do optymalizacji zawartości i rozmiaru PDF z zachowaniem oryginalnej jakości i danych bazowych

Jest to profesjonalne rozwiązanie do kompresji PDF przy użyciu C#, F#, VB.NET. Skorzystaj z naszego PDF optymalizacyjnego interfejsu API, aby tworzyć wysokopoziomowe, niezależne od platformy oprogramowanie dla .NET i .NET Core. Wypróbuj online za darmo!

Zobacz fragment kodu

Kompresuj PDF w C#

Ta C# biblioteka zapewnia programistom możliwość szybkiego i wydajnego programowego kompresowania PDF dokumentów. Łatwo uzyskaj zoptymalizowany PDF plik gotowy do drukowania, archiwizacji lub udostępniania w sieci. Jest to samodzielne rozwiązanie do przetwarzania PDF dokumentów dla języka C#, które nie wymaga instalowania żadnego oprogramowania innych firm.

Zmniejsz rozmiar PDF pliku za pomocą C#

Nasz produkt zapewnia programistom C# zintegrowany interfejs API w celu zmniejszenia rozmiaru PDF plików. Kompresja PDF odbywa się w dwóch przejściach. Podczas pierwszego przejścia wszystkie strony PDF pliku są konwertowane do formatu obrazu. Nasz produkt wykorzystuje adaptacyjne i wysoce wydajne algorytmy kompresji obrazu, które umożliwiają programistom uzyskanie kompaktowych PDF plików przy zachowaniu optymalnej jakości dokumentu. W następnym przebiegu sekwencja obrazów jest kompresowana i łączona w celu utworzenia zawartości nowego, zoptymalizowanego PDF pliku.

Kompresja PDF jest łatwa dzięki 'Aspose.Words for .NET'. Poniższy przykład pokazuje, jak zmniejszyć rozmiar PDF pliku w C#:

Przykładowy kod w C#, aby skompresować PDF plików
Prześlij plik, który chcesz zoptymalizować/skompresować
Uruchom kod
Wybierz format docelowy z listy
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)
{
    // Ustaw maksymalny rozmiar strony, aby uniknąć skalowania obrazu bieżącej strony.
    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) { // Od programisty zależy wybór biblioteki do kompresji obrazu. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Skompresuj obraz i ustaw go z powrotem do kształtu. 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) { // Od programisty zależy wybór biblioteki do kompresji obrazu. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Skompresuj obraz i ustaw go z powrotem do kształtu. 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) { // Od programisty zależy wybór biblioteki do kompresji obrazu. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Skompresuj obraz i ustaw go z powrotem do kształtu. 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"); // Zaktualizuj ustawienia strony, aby przyciąć dokument tak, aby pasował do rozmiaru obrazu. 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) { // Ustaw maksymalny rozmiar strony, aby uniknąć skalowania obrazu bieżącej strony. 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; }
Uruchom kod

Jak skompresować PDF

  1. Zainstaluj Aspose.Words for .NET.
  2. Dodaj odniesienie do biblioteki (zaimportuj bibliotekę) do swojego C# projektu.
  3. Otwórz plik źródłowy PDF w C#.
  4. Kompresuj PDF bez utraty jakości.
  5. Wywołaj metodę Document.Cleanup(). Wynikowy kod może się różnić w zależności od formatu pliku wyjściowego.
  6. Pobierz skompresowany wynik jako PDF plik.

C# biblioteka do optymalizacji i kompresji PDF plików

Istnieją trzy alternatywne opcje instalacji "Aspose.Words for .NET" w systemie. Wybierz taki, który odpowiada Twoim potrzebom i postępuj zgodnie z instrukcjami krok po kroku:

wymagania systemowe

Nasz produkt jest w pełni wieloplatformowy i obsługuje wszystkie główne implementacje .NET:

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

O ile kod .NET nie jest zależny od sprzętu lub systemu operacyjnego, ale tylko od maszyny wirtualnej, możesz swobodnie tworzyć dowolne oprogramowanie dla systemów Windows, macOS, Android, iOS i Linux. Upewnij się tylko, że masz zainstalowaną odpowiednią wersję .NET Framework, .NET Core, Windows Azure, Mono lub Xamarin.

Do tworzenia aplikacji C#, F#, VB.NET zalecamy używanie zintegrowanych środowisk programistycznych Microsoft Visual Studio, Xamarin i MonoDevelop.

Aby uzyskać więcej informacji, zapoznaj się z dokumentacją produktu.

Inne obsługiwane optymalizacje formatu plików

Możesz optymalizować pliki w wielu innych formatach plików:

5%

Subskrybuj aktualizacje produktów Aspose

Otrzymuj comiesięczne biuletyny i oferty dostarczane bezpośrednio do Twojej skrzynki pocztowej.

© Aspose Pty Ltd 2001-2024. Wszelkie prawa zastrzeżone.