Der Code zum Komprimieren von PDF in C#

Leistungsstarke .NET Bibliothek zum Optimieren von Inhalt und Größe von PDF unter Beibehaltung der ursprünglichen Qualität und der Ausgangsdaten

Dies ist eine professionelle Lösung zum Komprimieren von PDF mit C#, F#, VB.NET. Verwenden Sie unsere PDF Optimierungs API, um plattformunabhängige High-Level Software für .NET und .NET Core Plattformen zu entwickeln. Probieren Sie es kostenlos online aus!

Codeausschnitt anzeigen

PDF in C# komprimieren

Diese C# Bibliothek bietet Entwicklern die Möglichkeit, PDF Dokumente schnell und effizient programmgesteuert zu komprimieren. Bereiten Sie ganz einfach eine optimierte PDF Ausgabe zum Drucken, Archivieren oder Teilen über das Netzwerk vor. Es ist eine eigenständige PDF Dokumentverarbeitungslösung für C#, für die keine Software von Drittanbietern installiert werden muss.

Reduzieren Sie die Größe einer PDF Datei mit C#

Unser Produkt bietet C# Entwicklern eine integrierte API, um die Größe von PDF Dateien zu reduzieren. Die PDF Komprimierung erfolgt in zwei Durchgängen. Beim ersten Durchgang werden alle Seiten des PDF in das Bildformat konvertiert. Unser Produkt verwendet adaptive und hocheffiziente Bildkomprimierungsalgorithmen, die es Entwicklern ermöglichen, eine kompakte PDF Ausgabe zu erhalten und gleichzeitig die optimale Qualität des Dokuments beizubehalten. Beim nächsten Durchlauf wird die Bildfolge komprimiert und zum Inhalt einer neuen, optimierten PDF Datei zusammengesetzt.

PDF Komprimierung leicht gemacht mit 'Aspose.Words for .NET'. Das folgende Beispiel zeigt, wie Sie die Größe einer PDF Datei in C# reduzieren:

Codebeispiel in C# zum Komprimieren von PDF Dateien
Laden Sie eine Datei hoch, die Sie optimieren/komprimieren möchten
Code ausführen
Wählen Sie das Zielformat aus der Liste
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)
{
    // Legen Sie die maximale Seitengröße fest, um die aktuelle Seitenbildskalierung zu vermeiden.
    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) { // Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Bild komprimieren und auf die Form zurücksetzen. 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) { // Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen. using var image = Image.Fromstream(shape.ImageData.ToStream()); // ... // Bild komprimieren und auf die Form zurücksetzen. 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) { // Es ist Sache des Entwicklers, die Bibliothek für die Bildkomprimierung auszuwählen. using var image = Image.FromStream(shape.ImageData.ToStream()); // ... // Bild komprimieren und auf die Form zurücksetzen. 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"); // Seiteneinstellungen aktualisieren, um das Dokument auf die Größe des Bildes zuzuschneiden. 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) { // Legen Sie die maximale Seitengröße fest, um die aktuelle Seitenbildskalierung zu vermeiden. 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; }
Code ausführen

So komprimieren Sie PDF

  1. Installieren Sie Aspose.Words for .NET.
  2. Fügen Sie Ihrem C# Projekt eine Bibliotheksreferenz hinzu (importieren Sie die Bibliothek).
  3. Öffnen Sie die Quelldatei PDF in C#.
  4. Komprimiere PDF ohne Qualitätsverlust.
  5. Rufen Sie die Methode Document.Cleanup(). Der resultierende Code kann je nach Ausgabedateiformat variieren.
  6. Holen Sie sich das komprimierte Ergebnis als PDF Datei.

C# Bibliothek zum Optimieren und Komprimieren von PDF Dateien

Es gibt drei alternative Optionen, um "Aspose.Words für .NET" auf Ihrem System zu installieren. Bitte wählen Sie eine aus, die Ihren Bedürfnissen entspricht und folgen Sie der Schritt-für-Schritt-Anleitung:

System Anforderungen

Unser Produkt ist vollständig plattformübergreifend und unterstützt alle wichtigen .NET-Implementierungen:

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

Da .NET-Code nicht von der zugrunde liegenden Hardware oder dem Betriebssystem, sondern nur von einer virtuellen Maschine abhängt, können Sie jede Art von Software für Windows, macOS, Android, iOS und Linux entwickeln. Stellen Sie einfach sicher, dass Sie die entsprechende Version von .NET Framework, .NET Core, Windows Azure, Mono oder Xamarin installiert haben.

Wir empfehlen die Verwendung der integrierten Entwicklungsumgebungen Microsoft Visual Studio, Xamarin und MonoDevelop zum Erstellen von C#, F#, VB.NET Anwendungen.

Weitere Einzelheiten finden Sie in der Produktdokumentation.

Andere unterstützte Dateiformatoptimierungen

Sie können Dateien in vielen anderen Dateiformaten optimieren:

5%

Abonnieren Sie Produkt-Updates von Aspose

Erhalten Sie monatliche Newsletter und Angebote direkt in Ihre Mailbox.

© Aspose Pty Ltd 2001-2024. Alle Rechte vorbehalten.