Unire documenti EPS, PostScript (PS) e XPS in Java

Unisci programmaticamente più file EPS, PostScript (PS) e XPS in singoli documenti PDF multipagina utilizzando Aspose.Page for Java. Combina senza problemi singoli elementi di grafica vettoriale, file di stampa o flussi di pagine tra diversi formati di documento senza dipendere da Adobe Acrobat, Distiller o dalle utilità di stampa native di Windows.

 

Aspose.Page for Java fornisce dispositivi di rendering specializzati (PdfDevice, ImageDevice) e opzioni di salvataggio per convertire e combinare più file di input in un flusso di output unificato.

  • Per combinare elementi di grafica vettoriale isolati e illustrazioni EPS in un portfolio PDF consolidato, utilizzare il metodo PsDocument.mergeToPdf().
  • Per unire lavori di stampa e report PostScript composti da più file in un singolo file PDF stampabile, utilizzare il metodo PsDocument.mergeToPdf().
  • Per combinare diversi file XPS, fatture o output di pagine batch in un singolo pacchetto XPS o PDF, utilizzare il metodo XpsDocument.merge().

Unire più file EPS in un singolo PDF

Unisci un array di file di grafica vettoriale EPS separati in un singolo documento PDF multipagina.

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.");
    }
}

Unire più documenti PostScript (PS) in un singolo PDF

Combina più file PostScript multipagina in un flusso PDF consolidato utilizzando percorsi e opzioni personalizzati per la ricerca dei caratteri.

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.");
    }
}

Unire più documenti XPS in un singolo file XPS

Combina diversi pacchetti XPS o pagine di fatture generate in un singolo file XPS multipagina.

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.");
    }
}

Installazione e configurazione

Aggiungi Aspose.Page for Java al tuo Maven:

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. Posso unire direttamente i documenti XPS in PDF anziché in XPS?

Sì. È possibile caricare un documento XPS utilizzando XpsDocument ed eseguirne il rendering insieme ai file secondari utilizzando PdfDevice per creare direttamente un file PDF unito dagli input XPS.

2. Come gestisce Aspose.Page i font mancanti durante l’unione di file PS o EPS?

Se nei file EPS/PS di input sono presenti riferimenti a font personalizzati, è possibile specificarne la posizione utilizzando PdfSaveOptions.setAdditionalFontsFolders(). Se mancano, Aspose.Page utilizza la logica integrata di sostituzione dei font predefiniti per completare il rendering senza generare eccezioni irreversibili.

3. L’efficienza della memoria viene mantenuta durante l’elaborazione in batch di grandi insiemi di file?

Sì. Aspose.Page elabora sequenzialmente i flussi delle pagine di input durante l’esecuzione del dispositivo PDF, consentendo di combinare in modo efficiente grandi processi di stampa aziendali con un basso utilizzo della memoria.