Wie man PDF-Dateien in Java komprimiert | IronPDF

Komprimieren von PDF-Dateien in Java

This article was translated from English: Does it need improvement?
Translated
View the article in English

IronPDF ermöglicht Java-Entwicklern die Komprimierung von PDF-Dateien durch Verringerung der Bildqualität und Skalierung der Auflösung, wodurch die Dateigröße für eine einfachere Weitergabe und Speicherung reduziert wird.

Quickstart: Komprimieren einer PDF-Datei in Java

```java {title="PDF in Java komprimieren"} //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/quickstart-compress.java import com.ironsoftware.ironPdf.*; import java.nio.file.Paths;

// Laden Sie Ihr PDF-Dokument PdfDocument pdf = PdfDocument.fromFile(Paths.get("source.pdf"));

// Bilder auf 60% Qualität komprimieren pdf.compressImages(60);

// Speichern Sie die komprimierte PDF-Datei pdf.saveAs(Paths.get("compressed.pdf"));


<div class="hsg-featured-snippet">
<h3>Minimaler Arbeitsablauf (5 Schritte)</h3>

1. Fügen Sie IronPDF als Abhängigkeit zu Ihrem Maven `pom.xml` hinzu
2. Laden Sie Ihre PDF-Datei über `PdfDocument.fromFile()`
3. Bilder mit `pdf.compressImages(60)` komprimieren
4. Optional die Bildauflösung mit `pdf.compressImages(90, true)` skalieren
5. Speichern Sie die komprimierte PDF-Datei unter `pdf.saveAs()`
</div>

PDF-Dokumente werden weit verbreitet zum Teilen und Speichern von Informationen verwendet, aber bildlastige Dateien können schnell Dutzende von Megabyte erreichen. Große Dateigrößen erschweren die Zustellung per E-Mail, verlangsamen Uploads und erhöhen die Speicherkosten. Die Java-Komprimierungs-API von IronPDF adressiert dies, indem Sie die eingebettete Bildqualität reduzieren und die Auflösung in wenigen Codezeilen skalieren können.

Dieser Artikel behandelt, wie man PDF-Dateien in Java mit IronPDF komprimiert. Die Beispiele zeigen sowohl einfache qualitätsbasierte Komprimierung als auch Auflösungsverkleinerung, sodass Sie den Ansatz an Ihre spezifischen Größen- und Qualitätsanforderungen anpassen können. Wenn Sie auch mit [bilderreichen PDFs](https://ironpdf.com/java/how-to/java-pdf-to-image-tutorial/) arbeiten oder [zusammengeführte Dokumente](https://ironpdf.com/java/how-to/java-merge-pdf-tutorial/) verarbeiten müssen, ist die Komprimierung ein wesentlicher Schritt vor der Verteilung.

## Was ist die IronPDF Java PDF-Bibliothek?

IronPDF ist eine [Java PDF-Bibliothek](/java/), die PDF-Dokumente programmatisch erstellt, liest und manipuliert. Die Bibliothek behandelt die [HTML-zu-PDF-Konvertierung](https://ironpdf.com/java/tutorials/html-to-pdf/), das Ausfüllen von Formularen, die Einbettung von Bildern und die Dateikomprimierung, ohne dass ein PDF-Viewer oder eine externe Rendering-Engine erforderlich ist. Sie unterstützt verschiedene Bereitstellungsumgebungen einschließlich [AWS Lambda](https://ironpdf.com/java/get-started/aws/), [Azure Functions](https://ironpdf.com/java/get-started/azure/) und [Google Cloud](https://ironpdf.com/java/get-started/google-cloud/).

Die Komprimierung in IronPDF funktioniert, indem eingebettete Bilder auf ein niedrigeres JPEG-Qualitätsniveau neu abgetastet werden und optional ihre Auflösung reduziert wird, um der Anzeigegröße im PDF zu entsprechen. Text, Vektorgrafiken und die Dokumentenstruktur werden nicht beeinträchtigt. Dies macht IronPDF zu einer praktischen Wahl für große Dokumente, die schnell per E-Mail übertragen oder in cloudbasierten Systemen gespeichert werden müssen.

Die Bibliothek funktioniert auch gut neben anderen Dokumentenoperationen: Sie können ein PDF komprimieren, das bereits [Wasserzeichen](https://ironpdf.com/java/how-to/custom-watermark/), [Hintergrundebenen](https://ironpdf.com/java/how-to/background-foreground/) und [Lesezeichen](https://ironpdf.com/java/how-to/bookmarks/) enthält, und all diese Funktionen bleiben nach der Komprimierung erhalten.

Hinweis:Die Komprimierung ist bei PDFs am effektivsten, die eingebettete JPEG- oder PNG-Bilder enthalten. Dokumente, die hauptsächlich aus Text und Vektorgrafiken bestehen, werden nur eine minimale Größenreduzierung erfahren.
## Wie richte ich IronPDF in einem Java Maven-Projekt ein? Bevor Sie PDFs komprimieren, fügen Sie IronPDF zur Maven-Konfiguration Ihres Projekts hinzu. Für vollständige Einrichtungsanweisungen siehe die [Einführungsübersicht](https://ironpdf.com/java/docs/). - Um IronPDF in einem [Maven-Projekt](/java/docs/) zu installieren, fügen Sie das `IronPDF` Maven-Repository und die Abhängigkeit zu Ihrer `pom.xml`-Datei hinzu. - Fügen Sie die Abhängigkeit zum Abschnitt `<dependencies>` hinzu: ```xml //:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/maven-dependency.xml <dependency> <groupId>com.ironsoftware</groupId> <artifactId>ironpdf</artifactId> <version>your_version_here</version> </dependency>
  • Speichern Sie Ihre pom.xml und führen Sie mvn install aus, um die IronPDF-Abhängigkeit herunterzuladen.

Sobald die Abhängigkeit aufgelöst ist, können Sie die IronPDF-Klassen in Ihr Projekt importieren und verwenden. Die aktuellste veröffentlichte Version des IronPDF Java-Artefakts ist auf Maven Central verfügbar. Für die Bereitstellung in der Produktion konfigurieren Sie Ihren Lizenzschlüssel, bevor Sie ausführen.

Wie komprimiere ich eine PDF-Datei in Java?

IronPDF komprimiert PDF-Dateien, indem es die im Dokument eingebetteten Bilder gezielt behandelt. Die Methode compressImages() akzeptiert einen Qualitätswert zwischen 0 und 100, wobei niedrigere Werte kleinere Dateien erzeugen, jedoch auf Kosten der Bildschärfe. Ein optionaler zweiter Parameter weist die Bibliothek an, die Bildauflösung basierend auf der Anzeigegröße auf der PDF-Seite zu verkleinern.

//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.ironPdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
//:path=/static-assets/pdf/content-code-examples/java/how-to/compress-pdf-java-tutorial/compress-pdf-images.java
import com.ironsoftware.ironPdf.*;
import java.io.IOException;
import java.nio.file.Paths;

public class App {
    public static void main(String[] args) throws IOException {
        // Load the source PDF from disk
        String src = "C:\\Image based PDF.pdf";
        PdfDocument pdf = PdfDocument.fromFile(Paths.get(src));

        // First pass: compress images to 60% quality
        // Lower values produce smaller files with more visible quality loss
        pdf.compressImages(60);
        pdf.saveAs(Paths.get("assets/document_compressed.pdf"));

        // Second pass (optional): compress to 90% quality with resolution scaling
        // The second parameter scales image resolution down to match display size,
        // which can reduce file size further but may cause distortion in some PDFs
        pdf.compressImages(90, true);
        pdf.saveAs(Paths.get("C:\\Compressed.pdf"));
    }
}
JAVA

Der Code lädt ein PDF von der Festplatte und wendet die Komprimierung in zwei Durchgängen an, um verschiedene Strategien zu veranschaulichen. Der erste Aufruf von compressImages(60) reduziert die Bildqualität auf 60 % und speichert das Ergebnis. Der zweite Aufruf verwendet 90% Qualität, aktiviert jedoch die Auflösungsverkleinerung, wodurch die Pixelabmessungen jedes Bildes angepasst werden, um seiner sichtbaren Fläche auf der Seite zu entsprechen.

Die Methode compressImages() hat zwei Signaturen:

  • compressImages(int quality) — Re-sampled alle eingebetteten Bilder auf die angegebene JPEG-Qualitätsstufe. Verwenden Sie einen Wert zwischen 40 und 80 für eine starke Größenreduzierung, während die Bilder erkennbar bleiben.
  • compressImages(int quality, boolean scaleImageResolutionToVisibleSize) — Fügt eine Skalierung der Auflösung hinzu. Wenn true, erkennt die Bibliothek Bilder, die mit einem Bruchteil ihrer nativen Auflösung gerendert werden, und skaliert sie entsprechend herunter. Diese Option bietet die aggressivste Größenreduzierung, erhöht jedoch die Verarbeitungszeit leicht.

TippsWenden Sie mehrere Durchgänge an, um das Gleichgewicht zwischen Größe und Qualität fein abzustimmen. Beginnen Sie mit einer moderaten Einstellung wie 70%, überprüfen Sie die Ausgabedateigröße und entscheiden Sie dann, ob ein zweiter Durchgang bei niedrigerer Qualität gerechtfertigt ist.

Ein 60%-Komprimierungsdurchlauf bei einem bilderreichen PDF reduziert typischerweise die Dateigröße um 50-70%, abhängig von den Quellbildern. Ein Dokument mit hauptsächlich Textinhalt wird deutlich kleinere Gewinne sehen. Vergleichen Sie die Vorher- und Nachher-Dateigrößen im Ausgabeverzeichnis, um das Ergebnis für Ihre spezifischen Dokumente zu bewerten.

Für Dokumente, die neben der Komprimierung weitere Verarbeitungsschritte erfordern, unterstützt IronPDF das Extrahieren von Text, das Extrahieren von Bildern und das Aufteilen von PDF-Dateien.

Wie sieht das Original-PDF aus?

Datei-Explorer mit der ursprünglichen PDF-Datei (458 KB) vor der Komprimierung mit IronPdf

Was sind die Ergebnisse nach der Komprimierung?

Datei-Explorer mit komprimierter PDF-Ausgabedatei, deren Dateigröße nach der Anwendung von IronPDF compressImages bei 60 % Qualität deutlich reduziert ist

Wie wähle ich die richtige Komprimierungsqualitätseinstellung?

Die Wahl des richtigen Qualitätsniveaus erfordert ein Gleichgewicht zwischen Dateigröße und visueller Treue. Die richtige Einstellung hängt vom Zweck des Dokuments und der Empfindlichkeit der eingebetteten Bilder ab.

Die folgende Tabelle gibt praktische Richtlinien für häufige Anwendungsfälle:

IronPDF Bildkomprimierungs-Qualitätsstufenführer
Qualitätsstufe Ca. Größenreduzierung Am besten für
80–100 % 10–30 % Druckqualitätsdokumente, medizinische Aufzeichnungen, rechtliche Einreichungen
60–79 % 40–60 % Interne Berichte, Web-Download-PDFs, E-Mail-Anhänge
40–59 % 60–75 % Miniaturansichts-Vorschauen, Entwurfsdokumente, Archivexemplare
Unter 40% 75 %+ Stark degradierte Ausgabe; generell nicht zur Verteilung empfohlen

Die Auflösungsverkleinerung funktioniert am besten, wenn das Quell-PDF aus hochauflösenden Fotos oder gescannten Seiten erstellt wurde, das Dokument jedoch nur für die Bildschirmansicht bestimmt ist. In diesen Fällen kann die Verkleinerung der Auflösung die Dateigröße reduzieren, ohne eine wahrnehmbare Veränderung der Qualität bei normalen Zoomstufen. Für weiteren Kontext zu PDF-Bildercodierungsstandards beziehen Sie sich auf die JPEG 2000 Formatdokumentation bei der Library of Congress und die PDF-Bildkomprimierungsdiskussion auf Stack Overflow.

WichtigVermeiden Sie die Komprimierung von PDFs, die digitale Signaturen enthalten. Das Ändern eingebetteter Bilder verändert den binären Inhalt des Dokuments, wodurch vorhandene Signaturen ungültig werden.

Wie reduziere ich die PDF-Dateigröße weiter über die Bildkomprimierung hinaus?

Die Bildkomprimierung behandelt den größten Beitrag zur Dateigröße in den meisten PDFs, aber zusätzliche Techniken können die Größe weiter reduzieren, wenn sie kombiniert werden. IronPDF unterstützt mehrere Ansätze, die compressImages() ergänzen:

Entfernen Sie unnötige Seiten. Das Löschen von Seiten vor der Komprimierung reduziert sowohl Bilddaten als auch Overhead der Seitenstruktur. Verwenden Sie die Beispiele zur Seitenlöschung, um zunächst leere oder überflüssige Seiten zu entfernen.

Entfernen Sie Anmerkungen. Anmerkungsobjekte fügen dem Datei binäre Daten hinzu. Das Entfernen mit der Anmerkungsverwaltungs-API vor dem Speichern kann die Dateigröße merklich reduzieren in Dokumenten mit vielen Markierungen.

Verarbeiten Sie Dokumente im Stapelverfahren. Für Workflows, die viele PDF-Dateien komprimieren, durchlaufen Sie eine Liste von Dateipfaden und wenden Sie compressImages() in einer Schleife an. IronPDF verarbeitet jedes Dokument unabhängig, sodass die Stapelverarbeitung keine spezielle Konfiguration erfordert – siehe das Beispiel zur PDF-Komprimierung als Ausgangspunkt.

Für eine breitere Diskussion von PDF-Optimierungsstrategien dokumentiert die PDF-Dateiformatspezifikation bei der Library of Congress die strukturellen Elemente, die zur Dateigröße beitragen und wie sie reduziert werden können.

Was sind die nächsten Schritte zur Komprimierung von PDFs in Java?

Die Methode IronPDF von compressImages() bietet eine praktische Möglichkeit, die Größe von PDF-Dateien in Java-Anwendungen zu reduzieren. Ein einzelner Methodenaufruf mit einem Qualitätsinteger deckt die meisten Anwendungsfälle ab, und der optionale Auflösungsverkleinerung wird für bilderreiche Quelldateien verwendet, die die aggressivste Reduzierung benötigen.

Beginnen Sie mit einem kostenlosen Test, um die Komprimierung in Ihren eigenen Dokumenten zu testen:

Sind Sie bereit zu sehen, was IronPDF noch alles kann? Sehen Sie sich die vollständige Java PDF-Tutorial-Bibliothek hier an: IronPDF Java How-To Guides

Häufig gestellte Fragen

Was ist PDF-Komprimierung und warum ist sie wichtig?

Die PDF-Komprimierung reduziert die Dateigröße, indem eingebettete Bilder neu abgetastet und deren Anzeigeauflösung optional angepasst werden. Kleinere Dateien sind leichter zu versenden, hochzuladen und zu speichern — die Methode compressImages() von IronPDF übernimmt dies in Java-Anwendungen mit einem einzigen Methodenaufruf.

Wie kann ich eine PDF-Datei in Java schnell komprimieren?

Laden Sie Ihr PDF mit PdfDocument.fromFile(), rufen Sie compressImages(60) auf, um die Bildqualität auf 60 % zu reduzieren, und speichern Sie das Ergebnis mit saveAs(). Diese drei Zeilen behandeln den Kernkomprimierungs-Workflow.

Welche Komprimierungsqualität sollte ich für meine PDFs verwenden?

Ein Wert von 60-70 % bietet ein gutes Gleichgewicht zwischen Dateigröße und visueller Qualität für die meisten Dokumente. Verwenden Sie 80-100 % für Druckqualität oder Rechtsunterlagen und 40-59 % nur für Entwürfe oder Miniaturansichten, bei denen die Bildtreue nicht entscheidend ist.

Kann ich PDF-Dateien komprimieren, die mehrere zusammengeführte Dokumente enthalten?

Ja, IronPDF komprimiert jedes PDF unabhängig davon, wie es zusammengestellt wurde. Die Methode compressImages() zielt auf alle eingebetteten Bilder im Dokument ab, unabhängig davon, ob sie aus einer einzigen Quelle stammen oder aus mehreren zusammengeführten Dateien.

Hat die Komprimierung Auswirkungen auf andere PDF-Funktionen wie Wasserzeichen oder Formulare?

Nein — die Komprimierung von IronPDF zielt nur auf eingebettete Rasterbilder ab. Text, Vektorgrafiken, Wasserzeichen, Hintergründe, Lesezeichen und Formularfelder werden im Ausgabedokument beibehalten.

Welche Bereitstellungsumgebungen unterstützen die PDF-Komprimierung mit IronPDF?

IronPDF unterstützt die PDF-Komprimierung auf AWS Lambda, Azure Functions, Google Cloud und Standard-Serverbereitstellungen. Kein externes Render-Engine oder PDF-Viewer sind in diesen Umgebungen erforderlich.

Was macht der Parameter scaleImageResolutionToVisibleSize?

Wenn auf true gesetzt, erkennt IronPDF Bilder, die mit einem Bruchteil ihrer nativen Auflösung gerendert wurden, und skaliert deren Pixelmaße herunter, um sie an die sichtbare Anzeigengröße anzupassen. Dies reduziert die Dateigröße weiter als nur die Qualitätsreduzierung, erhöht jedoch leicht die Verarbeitungsgeschwindigkeit.

Wird durch das Komprimieren eines PDFs dessen digitale Signatur ungültig?

Ja. Das Ändern eingebetteter Bilder verändert den Binärinhalt des Dokuments, was bestehende digitale Signaturen bricht. PDF-Dateien vor dem Anwenden von Signaturen komprimieren, nicht danach.

Darrius Serrant
Full-Stack-Software-Ingenieur (WebOps)

Darrius Serrant hat einen Bachelor-Abschluss in Informatik von der University of Miami und arbeitet als Full-Stack-WebOps-Marketing-Ingenieur bei Iron Software. Seit seiner Jugend vom Programmieren angezogen, sah er die Informatik als sowohl mysteriös als auch zugänglich, was es zum perfekten Medium für Kreativität und Problemlösung ...

Weiterlesen
Bereit anzufangen?
Version: 2026.5 just released
Still Scrolling Icon

Scrollst du immer noch?

Sie brauchen schnell einen Beweis?
Führen Sie eine Probe aus Sehen Sie zu, wie Ihr HTML-Code in eine PDF-Datei umgewandelt wird.