Mesclar documentos EPS, PostScript (PS) e XPS em Java

Mescle programaticamente vários arquivos EPS, PostScript (PS) e XPS em documentos PDF únicos de várias páginas usando o Aspose.Page for Java. Combine gráficos vetoriais individuais, arquivos de impressão ou fluxos de páginas de forma integrada entre diferentes formatos de documentos, sem depender do Adobe Acrobat, Distiller ou dos utilitários de impressão nativos do Windows.

 

O Aspose.Page for Java fornece dispositivos de renderização especializados (PdfDevice, ImageDevice) e opções de salvamento para converter e combinar vários arquivos de entrada em um fluxo de saída unificado.

  • Para combinar gráficos vetoriais isolados e ilustrações EPS em um portfólio PDF consolidado, use o método PsDocument.mergeToPdf().
  • Para mesclar trabalhos de impressão e relatórios PostScript de vários arquivos em um único arquivo PDF imprimível, use o método PsDocument.mergeToPdf().
  • Para combinar diferentes arquivos XPS, faturas ou saídas de páginas em lote em um único pacote XPS ou PDF, use o método XpsDocument.merge().

Mesclar vários arquivos EPS em um único PDF

Mescle uma matriz de arquivos de gráficos vetoriais EPS separados em um único documento PDF de várias páginas.

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

Mesclar vários documentos PostScript (PS) em um único PDF

Combine vários arquivos PostScript de várias páginas em um fluxo PDF consolidado usando caminhos e opções personalizados de pesquisa de fontes.

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

Mesclar vários documentos XPS em um único arquivo XPS

Combine diferentes pacotes XPS ou páginas de faturas geradas em um único arquivo XPS de várias páginas.

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

Instalação e configuração

Adicione o Aspose.Page for Java ao seu 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 mesclar documentos XPS diretamente para PDF em vez de XPS?

Sim. Você pode carregar um documento XPS usando XpsDocument e renderizá-lo junto com arquivos secundários usando PdfDevice para criar diretamente um arquivo PDF mesclado a partir de entradas XPS.

2. Como o Aspose.Page lida com fontes ausentes ao mesclar arquivos PS ou EPS?

Se fontes personalizadas forem referenciadas nos arquivos EPS/PS de entrada, você poderá fornecer sua localização usando PdfSaveOptions.setAdditionalFontsFolders(). Se estiverem ausentes, o Aspose.Page usará a lógica integrada de substituição de fontes padrão para concluir a renderização sem gerar exceções fatais.

3. A eficiência de memória é mantida durante o processamento em lote de grandes conjuntos de arquivos?

Sim. O Aspose.Page processa sequencialmente os fluxos de páginas de entrada durante a execução do dispositivo PDF, permitindo que grandes trabalhos de impressão corporativos sejam combinados com eficiência e baixo uso de memória.