Komprimierung von PDF-Dateien mit Java
Tags: java, pdf, filecompress, file
Published: 2023-07-28 09:34:40

Durch das Komprimieren von PDF-Dokumenten kann der belegte Speicherplatz reduziert und das Teilen und Übertragen von Dokumenten vereinfacht werden. Darüber hinaus können Sie durch das Komprimieren von PDF-Dokumenten vermeiden, dass die Dateigröße bei der gemeinsamen Nutzung von PDF-Dokumenten in sozialen Netzwerken oder beim Versenden per E-Mail das zulässige Limit überschreitet. In diesem Artikel wird beschrieben, wie Sie mit [Spire.PDF für Java](https://www.e-iceblue.com/Introduce/pdf-for-java.html) **PDF-Dokumente komprimieren und deren Größe reduzieren** können.

### Hinzufügen von Abhängigkeiten
Sie können Spire.PDF für Java manuell von der [offiziellen Website](https://www.e-iceblue.com/Download/pdf-for-java.html) herunterladen und in Ihr Projekt einbinden oder es über Maven mit dem folgenden Code installieren:
```xml
<repositories>
    <repository>
        <id>com.e-iceblue</id>
        <name>e-iceblue</name>
        <url>https://repo.e-iceblue.com/nexus/content/groups/public/</url>
    </repository>
</repositories>
<dependencies>
    <dependency>
        <groupId>e-iceblue</groupId>
        <artifactId>spire.pdf</artifactId>
        <version>9.5.6</version>
    </dependency>
</dependencies>
```

## Komprimieren von PDF-Dokumenten und Verkleinern der Dateigröße
Die Größe von PDF-Dokumenten wird hauptsächlich durch Bilder und eingebettete Schriften beeinflusst. Daher konzentrieren wir uns beim Komprimieren von Dokumenten hauptsächlich auf Bilder und eingebettete Schriftarten. Beim Komprimieren können Sie die Kompressionsqualität einstellen. Außerdem können Sie die Metadaten des PDF-Dokuments löschen, um die Größe des Dokuments zu reduzieren. Hier finden Sie eine detaillierte Anleitung dazu.

- **Schritt 1** Erstellen Sie ein Objekt von PdfCompressor und laden Sie das PDF-Dokument.

`PdfCompressor compressor = new PdfCompressor("Beispiel.pdf");`

- **Schritt 2** Holen Sie sich die Komprimierungsoptionen.

`OptimizationOptions options = compressor.getOptions();`

- **Schritt 3** Aktivieren Sie die Komprimierung der Schriftarten.

`options.setCompressContents(true);`

- **Schritt 4** Löschen Sie die Metadaten.

`options.setRemoveMetadata(true);`

- **Schritt 5** Holen Sie sich die Optionen für die Bildkomprimierung.

`ImageCompressionOptions imageOptions = options.getImageCompressionOptions();`

- **Schritt 6** Aktivieren Sie die Komprimierung der Bilder.

`imageOptions.setCompressImage(true);`

- **Schritt 7** Aktivieren Sie die Änderung der Bildgröße.

`imageOptions.setResizeImages(true);`

- **Schritt 8** Legen Sie die Kompressionsqualität der Bilder fest.

`imageOptions.setImageQuality(ImageQuality.Low);`

- **Schritt 9** Komprimieren Sie das Dokument und speichern Sie es.

`compressor.compressToFile("Komprimierte PDF-Datei.pdf");`

**Vollständiger Code**
```java
import com.spire.pdf.conversion.compression.ImageCompressionOptions;
import com.spire.pdf.conversion.compression.ImageQuality;
import com.spire.pdf.conversion.compression.OptimizationOptions;
import com.spire.pdf.conversion.compression.PdfCompressor;

public class KomprimierePDF {
    public static void main(String[] args) {
        // Erstellen Sie ein Objekt von PdfCompressor und laden Sie das PDF-Dokument.
        PdfCompressor compressor = new PdfCompressor("Beispiel.pdf");

        // Holen Sie sich die Komprimierungsoptionen.
        OptimizationOptions options = compressor.getOptions();

        // Aktivieren Sie die Komprimierung der Schriftarten.
        options.setCompressContents(true);

        // Löschen Sie die Metadaten.
        options.setRemoveMetadata(true);

        // Holen Sie sich die Optionen für die Bildkomprimierung.
        ImageCompressionOptions imageOptions = options.getImageCompressionOptions();

        // Aktivieren Sie die Komprimierung der Bilder.
        imageOptions.setCompressImage(true);

        // Aktivieren Sie die Änderung der Bildgröße.
        imageOptions.setResizeImages(true);

        // Legen Sie die Kompressionsqualität der Bilder fest.
        imageOptions.setImageQuality(ImageQuality.Low);

        // Komprimieren Sie das Dokumentund speichern Sie es.
        compressor.compressToFile("Komprimierte PDF-Datei.pdf");
    }
}
```

Neben der Komprimierung von PDF-Dokumenten zur Verringerung der Dateigröße gibt es noch andere Möglichkeiten, die Größe von PDF-Dateien zu reduzieren, z. B. durch Entfernen von [Anhängen](https://www.e-iceblue.com/Tutorials/Java/Spire.PDF-for-Java/Program-Guide/Attachment/Add-Attachments-to-PDF-in-Java.html) und [Anmerkungen](https://www.e-iceblue.com/Tutorials/Java/Spire.PDF-for-Java/Program-Guide/Annotation/Java-remove-annotations-from-PDF.html).