PDFs in C# komprimieren mit IronPDF
IronPDF bietet leistungsstarke PDF-Komprimierungsfunktionen in C#, die die Dateigröße durch Komprimierung eingebetteter Bilder und Optimierung der PDF-Baumstrukturen verringern und so die Dokumente bei gleichbleibender Qualität für die Speicherung und Weitergabe besser handhabbar machen.
Die PDF-Komprimierung reduziert die Dateigröße von PDF-Dokumenten, um sie für die Speicherung, gemeinsame Nutzung und Übertragung handlicher zu machen. Unabhängig davon, ob Sie mit aus HTML generierten PDFs oder vorhandenen PDF-Dateien arbeiten, ist die Komprimierung für die Optimierung der Dokumentenverarbeitung unerlässlich.
Bilder machen in der Regel den größten Teil der PDF-Dateien aus. IronPDF bietet Komprimierungsfunktionen, die die Größe eingebetteter Bilder reduzieren und die Baumstruktur optimieren, die häufig in tabellenlastigen PDFs zu finden ist. Diese Techniken funktionieren nahtlos mit PDFs, die auf verschiedene Weisen erstellt wurden, einschließlich URL-zu-PDF-Konvertierungen und HTML-Dateikonvertierungen.
Schnellstart: PDF-Dateien mit IronPDF komprimieren
Reduzieren Sie die Größe von PDF-Dateien mit den Komprimierungswerkzeugen von IronPDF — ideal zum PDF komprimieren ohne Qualitätsverlust. Laden Sie Ihre PDF-Datei mit PdfDocument.FromFile und rufen Sie CompressAndSaveAs auf, um Ihre optimierte PDF-Datei in einem Schritt zu komprimieren und zu speichern.
-
Installieren Sie IronPDF mit NuGet Package Manager
PM > Install-Package IronPdf -
Kopieren Sie diesen Codeausschnitt und führen Sie ihn aus.
PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); -
Bereitstellen zum Testen in Ihrer Live-Umgebung
Beginnen Sie noch heute, IronPDF in Ihrem Projekt zu verwenden, mit einer kostenlosen Testversion
Minimaler Arbeitsablauf (3 Schritte)
- Herunterladen der C#-Bibliothek für PDF-Kompression von NuGet
- Ein bestehendes PDF importieren oder ein neues rendern.
- Rufen Sie
CompressAndSaveAs(outputPath, quality, removeStructureTree)auf, um Bilder zu komprimieren, optional die Strukturstruktur zu entfernen und sie zu speichern – alles in einem Schritt.
CompressImages, CompressStructTree und Compress(CompressionOptions) sind veraltet.Wie kann ich Bilder in PDFs komprimieren?
Die JPEG-Komprimierungsqualität akzeptiert Werte von 0 (maximale Komprimierung) bis 100 (minimaler Verlust), wobei die zugrunde liegende Engine bestimmt, wie der Wert angewendet wird. Das Verständnis dieser Ebenen hilft bei der Arbeit mit PDFs, die eingebettete Bilder enthalten, oder wenn Sie Schriftarten und Grafiken verwalten müssen.
- 90% und mehr: hohe Qualität
- 80%-90%: mittlere Qualität
- 70%-80%: niedrige Qualität
Experimentieren Sie mit verschiedenen Werten, um ein Gleichgewicht zwischen Qualität und Dateigröße herzustellen. Die Qualitätsreduzierung variiert je nach Art des eingegebenen Bildes - einige Bilder weisen einen stärkeren Verlust an Klarheit auf als andere. Dies ist besonders wichtig bei der Arbeit mit Bildern aus Azure Blob Storage oder bei der Erstellung von PDFs mit eigenen Wasserzeichen.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-image.cs
using IronPdf;
ChromePdfRenderer renderer = new ChromePdfRenderer();
PdfDocument pdf = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page");
// Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40);
Imports IronPdf
Dim renderer As New ChromePdfRenderer()
Dim pdf As PdfDocument = renderer.RenderUrlAsPdf("https://en.wikipedia.org/wiki/Main_Page")
' Compress images in the PDF
pdf.CompressAndSaveAs("compressed.pdf", 40)
Welche Ergebnisse kann ich von der Bildkomprimierung erwarten?
Reduziert um 39,24%!
Wie funktioniert der Qualitätsparameter?
Der Parameter quality in CompressAndSaveAs steuert die JPEG-Codierungsqualität, die auf jedes eingebettete Bild angewendet wird. Übergeben Sie eine ganze Zahl von 0 (maximale Komprimierung, niedrigste Qualität) bis 100 (minimale Komprimierung, höchste Qualität) oder null, um die Bildkomprimierung vollständig zu überspringen.
IronPDF kodiert und skaliert Bilder während der Komprimierung automatisch neu, sodass keine zusätzlichen Optionen erforderlich sind. Niedrigere Werte führen zu kleineren Dateien, können aber sichtbare Artefakte hervorrufen – experimentieren Sie, um das richtige Gleichgewicht für Ihre Inhalte zu finden.
Wie komprimiere ich die PDF-Baumstruktur?
Diese Funktion reduziert die PDF-Größe, indem sie die von der Chrome-Engine erstellte Baumstruktur entfernt. Übergeben Sie dazu removeStructureTree: true als dritten Parameter von CompressAndSaveAs. Am effektivsten ist diese Option bei PDFs, die mit der Chrome-Engine erstellt wurden und umfangreiche Tabellendaten enthalten. Einige Rendering-Engines geben PDFs ohne diese Struktur aus, sodass die Funktion in diesen Fällen unwirksam ist. Diese Technik ist nützlich bei der Arbeit mit komplexen Layouts oder beim Zusammenführen mehrerer PDFs mit redundanten Strukturelementen.
Das Entfernen der Baumstruktur kann die Effizienz der Texthervorhebung und -extraktion beeinträchtigen. Berücksichtigen Sie diesen Kompromiss bei der Anwendung der Komprimierung, insbesondere wenn Benutzer Text und Bilder aus komprimierten PDFs extrahieren müssen.
Test CompressAndSaveAs with tree structure removal using this PDF with table data.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-tree-structure.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("table.pdf");
// Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", null, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("table.pdf")
' Compress tree structure in PDF
pdf.CompressAndSaveAs("compressedTable.pdf", Nothing, True)
Welche Dateigrößenreduzierung kann durch Baumstrukturkomprimierung erreicht werden?
Reduziert um 67,90%! Dieser Prozentsatz steigt mit größeren Tabellen-PDFs.
Wie kann ich beide Komprimierungsmethoden zusammen anwenden?
CompressAndSaveAs übernimmt sowohl die Bild- als auch die Baumstrukturkomprimierung in einem einzigen Aufruf — übergeben Sie einen quality Wert und setzen Sie removeStructureTree auf true. Dieser kombinierte Ansatz ist besonders effektiv für komplexe PDF-Dateien, die Bilder und strukturierte Daten enthalten, wie Berichte mit Diagrammen oder Dokumente mit eingebetteten Tabellen und Grafiken.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-compress.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, true);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Configure compression with automatic optimization
pdf.CompressAndSaveAs("compressed.pdf", 80, True)
Welche Parameter akzeptiert CompressAndSaveAs?
-
outputPath(Zeichenkette): Der Dateipfad, unter dem die komprimierte PDF-Datei gespeichert wird. -
quality(int?, 0–100): JPEG-Qualität, die auf jedes eingebettete Bild angewendet wird. Niedrigere Werte führen zu kleineren Dateien. Verwenden Sienull, um die Bildkomprimierung vollständig zu überspringen. removeStructureTree(bool, Standardwertfalse): Wenntrue, wird die PDF-Struktur entfernt, um die Dateigröße weiter zu reduzieren. Am effektivsten bei HTML-generierten PDFs mit Tabellen.
Berücksichtigen Sie bei der Anwendung der Komprimierung Ihren Anwendungsfall. Für Archivierungszwecke kann die Qualität Vorrang vor der Dateigröße haben. Für die Verbreitung im Internet sind unter Umständen kleinere Dateien erforderlich. Passen Sie die Einstellungen an, je nachdem, ob Sie mit PDF/A-konformen Dokumenten oder Standard-PDFs arbeiten.
Wie kann ich PDFs komprimieren, ohne sie auf der Festplatte zu speichern?
In vielen realen Anwendungsfällen — wie API-Antworten, Cloud-Funktionen oder E-Mail-Anhängen — ist das Schreiben einer komprimierten PDF-Datei auf die Festplatte unnötig oder unpraktisch.
CompressPdfToBytes gibt das komprimierte PDF als Byte-Array zurück und gibt Ihnen somit die volle Kontrolle darüber, wie die Ausgabe gespeichert oder übertragen wird. Sowohl CompressPdfToBytes als auch CompressPdfToStream akzeptieren einen optionalen Parameter CompressionMode, der die Art der Komprimierung steuert.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-bytes.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as byte array
byte[] compressedBytes = pdf.CompressPdfToBytes();
File.WriteAllBytes("compressed.pdf", compressedBytes);
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as byte array
Dim compressedBytes As Byte() = pdf.CompressPdfToBytes()
File.WriteAllBytes("compressed.pdf", compressedBytes)
Welche Komprimierungsmodi stehen zur Verfügung?
Unterschiedliche Einsatzumgebungen unterliegen unterschiedlichen Einschränkungen hinsichtlich Festplattenzugriff und Leistung. Mit dem Enum CompressionMode können Sie den richtigen Kompromiss wählen.
-
Automatic(Standard): Wählt die optimale Komprimierungsmethode basierend auf den Systemfähigkeiten aus. Versucht zuerstHighQualityund greift aufFastMemoryzurück, wenn der Festplattenzugriff eingeschränkt ist. -
FastMemory: Führt die Komprimierung vollständig im Arbeitsspeicher durch, ohne Festplattenzugriffe. Dies ist die schnellste Option, führt aber weder zu einer Neuberechnung noch zu einer Verkleinerung des Bildes, was größere Ausgabedateien zur Folge hat. HighQuality: Wendet maximale Komprimierung unter Verwendung temporären Festplattenzugriffs an. Erzeugt kleinste Ausgabedateien bei gleichzeitig vollständiger Bildoptimierung. Erfordert Schreibberechtigungen für das temporäre Systemverzeichnis.
Falls Sie anstelle eines Byte-Arrays ein Stream benötigen, verwenden Sie CompressPdfToStream. Dies ist nützlich, wenn die Daten direkt an eine HTTP-Antwort, einen Cloud-Speicher-Upload oder einen beliebigen stream-basierten Workflow weitergeleitet werden.
:path=/static-assets/pdf/content-code-examples/how-to/pdf-compression-to-stream.cs
using IronPdf;
PdfDocument pdf = PdfDocument.FromFile("sample.pdf");
// Compress and return as Stream
using var compressedStream = pdf.CompressPdfToStream();
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray());
Imports IronPdf
Dim pdf As PdfDocument = PdfDocument.FromFile("sample.pdf")
' Compress and return as Stream
Using compressedStream = pdf.CompressPdfToStream()
File.WriteAllBytes("compressed.pdf", compressedStream.ToArray())
End Using
CompressPdfToBytes und CompressPdfToStream sind jetzt auf allen IronPDF Plattformen verfügbar, einschließlich Java, Node.js und Python.
Bereit zu sehen, was Sie sonst noch tun können? Sehen Sie sich hier unsere Tutorial-Seite an: Zusätzliche Funktionen
Häufig gestellte Fragen
Wie stark kann die Größe von PDF-Dateien durch Komprimierung verringert werden?
IronPDF kann die Größe von PDF-Dateien durch Bildkomprimierung und Strukturoptimierung um bis zu 75 % reduzieren. Im gezeigten Beispiel wurde eine Datei mithilfe von Bildkomprimierungstechniken um 39,24 % verkleinert.
Wie komprimiert IronPDF PDFs in C#?
IronPDF verwendet für die Komprimierung eine einzige Methode – CompressAndSaveAs . Es reduziert die Größe eingebetteter Bilder mithilfe einer konfigurierbaren JPEG-Qualität (0–100) und kann optional die interne Struktur des PDFs entfernen, indem removeStructureTree: true gesetzt wird. Dies ist besonders effektiv bei tabellenreichen Dokumenten.
Welche Qualitätsstufen sollte ich für die JPEG-Komprimierung in PDFs verwenden?
IronPDF unterstützt JPEG-Komprimierungsqualitäten von 1 % bis 100 %. Empfohlene Werte sind: 90% und mehr für hohe Qualität, 80%-90% für mittlere Qualität und 70%-80% für niedrige Qualität. Die optimale Einstellung hängt davon ab, ob Sie ein ausgewogenes Verhältnis zwischen Dateigröße und Anforderungen an die visuelle Qualität wünschen.
Kann ich eine PDF-Datei mit nur einer Zeile Code komprimieren?
Ja, IronPDF ermöglicht die PDF-Komprimierung in einer einzigen Codezeile: PdfDocument.FromFile("input.pdf").CompressAndSaveAs("compressed.pdf", 40); Dadurch wird eine PDF-Datei geladen, die Bilder werden mit 40 % Qualität komprimiert und das Ergebnis gespeichert.
Funktioniert die Komprimierung bei PDF-Dateien, die aus HTML erstellt wurden?
Ja, die Komprimierungsfunktionen von IronPDF funktionieren nahtlos mit PDFs, die mit verschiedenen Methoden erstellt wurden, einschließlich der Konvertierung von HTML-Strings in PDFs, der Konvertierung von URLs in PDFs und der Konvertierung von HTML-Dateien, sowie mit bestehenden PDF-Dateien.
Welche Arten von Inhalten profitieren am meisten von der PDF-Komprimierung?
Bilder machen in der Regel den größten Teil der PDF-Dateigröße aus, weshalb sich bildlastige Dokumente ideal für eine Komprimierung eignen. Außerdem profitieren PDFs mit komplexen Tabellenstrukturen von der IronPDF-Funktion zur Komprimierung von Strukturbäumen.
Kann ich eine PDF-Datei komprimieren, ohne sie auf der Festplatte zu speichern?
Ja, IronPDF bietet die Methoden CompressPdfToBytes und CompressPdfToStream , die das komprimierte PDF als Byte-Array bzw. Stream zurückgeben. Beide akzeptieren den optionalen Parameter CompressionMode mit den Optionen „Automatisch“, „Schnelle Speicherkomprimierung“ oder „Hohe Qualität“.
Ist die PDF-Komprimierung auch in anderen Sprachen als C# verfügbar?
Ja, CompressPdfToBytes und CompressPdfToStream sind jetzt auf allen IronPDF Plattformen verfügbar, einschließlich Java, Node.js und Python.

