EPS-, PostScript- (PS) und XPS-Dokumente in Java zusammenführen

Führen Sie mehrere EPS-, PostScript- (PS) und XPS-Dateien programmgesteuert mit Aspose.Page for Java zu einzelnen mehrseitigen PDF-Dokumenten zusammen. Kombinieren Sie einzelne Vektorgrafiken, Druckdateien oder Seitenstreams nahtlos über verschiedene Dokumentformate hinweg, ohne auf Adobe Acrobat, Distiller oder native Windows-Druckprogramme angewiesen zu sein.

 

Aspose.Page for Java stellt spezialisierte Rendering-Geräte (PdfDevice, ImageDevice) und Speicheroptionen bereit, um mehrere Eingabedateien zu konvertieren und zu einem einheitlichen Ausgabestream zusammenzuführen.

  • Um isolierte Vektorgrafiken und EPS-Illustrationen zu einem konsolidierten PDF-Portfolio zusammenzuführen, verwenden Sie die Methode PsDocument.mergeToPdf().
  • Um mehrteilige PostScript-Druckaufträge und Berichte zu einer einzigen druckbaren PDF-Datei zusammenzuführen, verwenden Sie die Methode PsDocument.mergeToPdf().
  • Um unterschiedliche XPS-Dateien, Rechnungen oder Stapelausgaben von Seiten zu einem einzigen XPS- oder PDF-Paket zusammenzuführen, verwenden Sie die Methode XpsDocument.merge().

Mehrere EPS-Dateien zu einem einzigen PDF zusammenführen

Führen Sie ein Array separater EPS-Vektorgrafikdateien zu einem einzigen mehrseitigen PDF-Dokument zusammen.

import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PdfSaveOptions;
import com.aspose.page.eps.device.PdfDevice;
import java.io.FileOutputStream;

public class MergeEpsFilesToPdf {
    public static void main(String[] args) throws Exception {
        // Define array of input EPS files to merge
        String[] epsFiles = new String[] {
            "C:/Project/Input/graphic1.eps",
            "C:/Project/Input/graphic2.eps",
            "C:/Project/Input/graphic3.eps"
        };

        // Initialize output stream for the merged PDF
        FileOutputStream outStream = new FileOutputStream("C:/Project/Output/merged_eps_output.pdf");

        // SOpen the first EPS document as the base document
        PsDocument baseDocument = new PsDocument(epsFiles[0]);

        // Configure PDF save options
        PdfSaveOptions options = new PdfSaveOptions();
        options.setJpegQualityLevel(100);

        // Merge additional EPS files and save to PDF stream
        baseDocument.mergeToPdf(outStream, epsFiles, options);

        outStream.close();
        System.out.println("EPS files successfully merged into a single PDF document.");
    }
}

Mehrere PostScript- (PS) Dokumente zu einem einzigen PDF zusammenführen

Kombinieren Sie mehrere mehrseitige PostScript-Dateien mithilfe benutzerdefinierter Schriftartsuchpfade und Optionen zu einem konsolidierten PDF-Stream.

import com.aspose.page.eps.PsDocument;
import com.aspose.page.eps.device.PdfSaveOptions;
import java.io.FileOutputStream;

public class MergePsFilesToPdf {
    public static void main(String[] args) throws Exception {
        // Specify list of PS files
        String[] psFiles = new String[] {
            "C:/Project/Input/report_part1.ps",
            "C:/Project/Input/report_part2.ps"
        };

        FileOutputStream outStream = new FileOutputStream("C:/Project/Output/merged_report.pdf");

        // Load base PS document
        PsDocument basePsDoc = new PsDocument(psFiles[0]);

        // Set options and configure font folders if custom fonts are used
        PdfSaveOptions options = new PdfSaveOptions();
        options.setAdditionalFontsFolders(new String[] { "C:/Project/Fonts/" });

        // Merge files to PDF
        basePsDoc.mergeToPdf(outStream, psFiles, options);

        outStream.close();
        System.out.println("PostScript documents merged to PDF successfully.");
    }
}

Mehrere XPS-Dokumente zu einer einzigen XPS-Datei zusammenführen

Kombinieren Sie unterschiedliche XPS-Pakete oder generierte Rechnungsseiten zu einer einzigen mehrseitigen XPS-Datei.

import com.aspose.page.xps.XpsDocument;

public class MergeXpsFiles {
    public static void main(String[] args) throws Exception {
        // Open base XPS document
        XpsDocument baseDocument = new XpsDocument("C:/Project/Input/document1.xps");

        // Define array of additional XPS documents to append
        String[] xpsFilesToMerge = new String[] {
            "C:/Project/Input/document2.xps",
            "C:/Project/Input/document3.xps"
        };

        // Execute merge operation and save output
        baseDocument.merge(xpsFilesToMerge, "C:/Project/Output/merged_document.xps");

        baseDocument.close();
        System.out.println("XPS documents merged into a single XPS package successfully.");
    }
}

Installation und Einrichtung

Fügen Sie Aspose.Page for Java zu Ihrem Maven hinzu:

Package Manager Console Command

<repository>
    <id>AsposeJavaAPI</id>
    <name>Aspose Java API</name>
    <url>https://repository.aspose.com/repo/</url>
</repository>

<dependency>
    <groupId>com.aspose</groupId>
    <artifactId>aspose-page</artifactId>
    <version>Latest</version>
</dependency>

FAQ

1. Kann ich XPS-Dokumente direkt in PDF statt in XPS zusammenführen?

Ja. Sie können ein XPS-Dokument mit XpsDocument laden und es zusammen mit zusätzlichen Dateien mit PdfDevice rendern, um direkt aus XPS-Eingaben eine zusammengeführte PDF-Datei zu erstellen.

2. Wie geht Aspose.Page beim Zusammenführen von PS- oder EPS-Dateien mit fehlenden Schriftarten um?

Wenn in den Eingabe-EPS/PS-Dateien benutzerdefinierte Schriftarten referenziert werden, können Sie deren Speicherort mit PdfSaveOptions.setAdditionalFontsFolders() angeben. Falls sie fehlen, verwendet Aspose.Page die integrierte Standardlogik zur Schriftartersetzung, um das Rendering abzuschließen, ohne schwerwiegende Ausnahmen auszulösen.

3. Bleibt die Speichereffizienz bei der Stapelverarbeitung großer Dateimengen erhalten?

Ja. Aspose.Page verarbeitet Eingabeseitenströme während der Ausführung des PDF-Geräts sequenziell, sodass große Druckaufträge von Unternehmen effizient und mit geringem Speicherbedarf zusammengeführt werden können.