Java ZIP zu PDF

ZIP Dateien werden häufig verwendet, um mehrere Dateien zu komprimieren und in einem einzigen Archiv zu verpacken. Die Konvertierung dieser Dateien in das PDF-Format kann für verschiedene Zwecke nützlich sein, beispielsweise zum Erstellen von Berichten, Archivieren von Dokumenten oder zum Teilen von Informationen in einem standardisierten Format. In diesem Tutorial erfahren Sie, wie Sie eine ZIP-Datei mit Java in ein PDF Dokument konvertieren.

Warum ZIP in PDF konvertieren?

Für verschiedene Anwendungsfälle müssen Sie ZIP Dateien möglicherweise in das PDF-Format konvertieren. Hier diskutieren wir einige Gründe für die Konvertierung:

Berichterstellung: Erstellen Sie PDF-Berichte, indem Sie Daten aus ZIP Dateien extrahieren und in einem formatierten Dokument präsentieren.

Dokumentenarchivierung: Konvertieren Sie mehrere in einem ZIP-Archiv gespeicherte Dokumente oder Dateien in eine einzige PDF-Datei zum einfachen Archivieren und Abrufen.

Dokumentenstandardisierung: Konvertieren Sie verschiedene Dateiformate in einem ZIP-Archiv in ein einheitliches PDF-Format, um die gemeinsame Nutzung und Anzeige zu vereinfachen.

ZIP zu PDF-Konverter - Java-Umgebungskonfiguration

Sie müssen die Entwicklungsumgebung konfigurieren, den Java-Code ausführen und die Funktion in Ihr System einbetten.

  • Stellen Sie sicher, dass das Java Development Kit (JDK) auf Ihrem System installiert ist.
  • Stellen Sie sicher, dass Sie über eine integrierte Entwicklungsumgebung (IDE) wie IntelliJ IDEA oder Apache NetBeans für die Java-Entwicklung verfügen.
  • Laden Sie außerdem die JAR-Datei von Conholdate.Total für Java herunter oder verwenden Sie die folgenden Maven-Konfigurationen:
<dependency>
<groupId>com.conholdate</groupId>
<artifactId>conholdate-total</artifactId>
<version>24.2</version>
<type>pom</type>
</dependency>

Konvertieren Sie ZIP in Java in PDF

Die folgenden Schritte zeigen, wie Sie ZIP in Java in PDF konvertieren:

  • Initialisieren Sie ein ZipInputStream Objekt unter Verwendung der ZIP-Eingabedatei.
  • Geben Sie das Ausgabeverzeichnis an, in dem die extrahierten Dateien gespeichert werden.
  • Durchsuchen Sie jede Datei in der ZIP-Eingabedatei und extrahieren Sie sie in das Ausgabeverzeichnis.
  • Führen Sie eine temporäre Liste, um die Namen der extrahierten Dateien aus dem entpackten Ordner zu speichern.
  • Rufen Sie die Liste aller Dateien (einschließlich ihrer vollständigen Pfade) aus dem entpackten Ordner ab.
  • Gehen Sie jede extrahierte Datei durch und konvertieren Sie sie in das PDF-Format.
  • Fügen Sie die konvertierten PDF Dateien zusammen.
  • Erstellen Sie eine Instanz der Merger Klasse mit dem ersten PDF-Eingabedokument aus der temporären Liste.
  • Durchlaufen Sie die Liste der konvertierten PDF Dokumente, beginnend mit der zweiten Datei.
  • Rufen Sie die Speichermethode der Instanz der Merger Klasse auf, um das zusammengeführte PDF Dokument zu speichern.

Der folgende Beispielcode zeigt, wie man ZIP in Java in PDF konvertiert:

// Unterstützte Dateiformate: https://docs.groupdocs.com/conversion/java/supported-document-formats/
// Funktioniert mit OpenJDK 17

package com.mycompany.asposejavatest;

import java.io.*;
import java.util.ArrayList;
import org.apache.commons.compress.archivers.*;
import org.apache.commons.compress.compressors.*;
import com.groupdocs.conversion.*;
import com.groupdocs.conversion.Converter;
import com.groupdocs.conversion.options.convert.PdfConvertOptions;
import com.groupdocs.conversion.contracts.PossibleConversions;
import com.groupdocs.conversion.options.convert.ConvertOptions;
import com.groupdocs.merger.*;
import com.groupdocs.merger.Merger;

public class AsposeJavaTest {

    public static void main(String[] args) {

        try {
            InputStream inputfile = new BufferedInputStream(new FileInputStream("input.zip"));

            // Für Formate, die separat archiviert und komprimiert werden. Wie tar.gz tar.bz tar.xz Verwenden Sie
            // CompressorInputStream und verwenden Sie dann ArchiveInputStream, um die Eingabedatei zu laden.
            //CompressorInputStream cis = neue CompressorStreamFactory().createCompressorInputStream(Eingabedatei);
            //ArchiveInputStream ais = neue ArchiveStreamFactory().createArchiveInputStream(cis);

            // Für Formate mit integrierter Komprimierungsunterstützung. Wie Zip RAR JAR 7zip
            // ArchiveInputStream zum Laden der Eingabedatei ohne CompressorInputStream
            //ArchiveInputStream ais = neue ArchiveStreamFactory().createArchiveInputStream(Eingabedatei);

            ArchiveEntry entry = ais.getNextEntry();

            File outputDir = new File("/tmp/output");
            if (!outputDir.exists()) {
                outputDir.mkdirs();
            }

            while (entry != null) {
                String filePath = outputDir.getAbsolutePath() + File.separator + entry.getName();
                BufferedOutputStream bos = new BufferedOutputStream(new FileOutputStream(filePath));
                byte[] bytesIn = new byte[1024];
                int read;

                while ((read = ais.read(bytesIn)) != -1) {
                    bos.write(bytesIn, 0, read);
                }

                ais.close();
                bos.close();
                entry = ais.getNextEntry();
            }

            // Temporäre Liste zur Aufnahme der Namen extrahierter Dateien aus dem entpackten Ordner
            ArrayList<String> filesList = new ArrayList<>();

            // Holen Sie sich die Liste aller Dateien (mit vollständigen Pfaden) aus dem entpackten Ordner
            File[] files = outputDir.listFiles();

            // Durchlaufen Sie jede entpackte Datei und konvertieren Sie jede Datei in PDF
           for (File file : files) {
                // Laden Sie die extrahierte Datei
                Converter converter = new Converter(file.getAbsolutePath());
                // Legen Sie die Konvertierungsoptionen für das PDF-Format fest				
                PdfConvertOptions convertOptions = new PdfConvertOptions();                
                // In das PDF-Format konvertieren
                String outPath = outputDir.getAbsolutePath() + File.separator + file.getName()+ ".pdf";
                converter.convert(outPath, convertOptions);
                // Fügen Sie die Dateinamen nach der Konvertierung in PDF zur temporären Liste hinzu
                filesList.add(outPath);
            }

            // PDF Dateien mit der GroupDocs.Merger-API zusammenführen
            // Instanziieren Sie die Zusammenführung mit dem ersten eingegebenen PDF Dokument in der temporären Liste
            Merger merger = new Merger(filesList.get(0));

            // Durchlaufen Sie die Liste der konvertierten PDF Dokumente, beginnend mit der zweiten Datei.
           for (int i = 1; i < filesList.size(); i++) {
                // Rufen Sie die Join-Methode der Merger Klasseninstanz auf und übergeben Sie die verbleibenden Quelldateien nacheinander
                merger.join(filesList.get(i));
            }

            // Rufen Sie die Save-Methode der Merger Klasseninstanz auf, um das zusammengeführte PDF Dokument zu speichern.
            merger.save("/tmp/output.pdf");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

Kostenlose Evaluierungslizenz

Sie können ZIP Dateien in das PDF-Format konvertieren und andere API funktionen in vollem Umfang testen, indem Sie eine kostenlose temporäre Lizenz anfordern.

Einpacken

Dieser Artikel beschreibt die Konvertierung einer ZIP-Datei in PDF in Java. Dabei werden die Dateien aus dem ZIP-Archiv extrahiert, in das PDF-Format konvertiert und anschließend in einem einzigen PDF Dokument zusammengeführt. Darüber hinaus kann dieser Prozess weiter automatisiert und an Ihre spezifischen Anforderungen angepasst werden. Bei Unklarheiten können Sie uns gerne im Forum kontaktieren.

FAQs

Kann ich die aus ZIP Dateien generierten PDF Dokumente anpassen?

Ja, Sie können die aus ZIP Dateien generierten PDF Dokumente anpassen. Sie können verschiedene Manipulationen anwenden, z. B. Schriftarten, Farben, Layouts und andere Stilelemente festlegen, um die visuelle Darstellung Ihrer PDF Dokumente zu verbessern. Sie können auch Kopf und Fußzeilen, Wasserzeichen und Anmerkungen nach Ihren Anforderungen hinzufügen.

Kann ich bestimmte Dateien in einem ZIP-Archiv in PDF konvertieren, anstatt alle Dateien zu konvertieren?

Ja, Sie können bestimmte Dateien in einem ZIP-Archiv in PDF konvertieren, indem Sie Ihren Java-Code entsprechend ändern. Sie können bestimmte Dateien anhand ihrer Namen, Erweiterungen oder anderer Kriterien extrahieren und dann nur diese extrahierten Dateien in das PDF-Format konvertieren. Dies ermöglicht eine selektive Konvertierung und Anpassung an Ihre Anforderungen.

Gibt es eine Möglichkeit, das resultierende PDF Dokument während der Konvertierung mit einem Kennwort zu schützen?

Ja, Sie können das resultierende PDF Dokument mit einem Kennwort schützen, da die unterstützten Funktionen PDF-Verschlüsselung sowie das Festlegen von Kennwörtern, Berechtigungen und Verschlüsselungsstufen für PDF Dokumente umfassen.

Siehe auch