Combinar documentos EPS, PostScript (PS) y XPS en Java

Combine mediante programación varios archivos EPS, PostScript (PS) y XPS en documentos PDF únicos de varias páginas utilizando Aspose.Page for Java. Combine gráficos vectoriales individuales, archivos de impresión o flujos de páginas sin problemas entre diferentes formatos de documentos, sin depender de Adobe Acrobat, Distiller ni de las utilidades de impresión nativas de Windows.

 

Aspose.Page for Java proporciona dispositivos de representación especializados (PdfDevice, ImageDevice) y opciones de guardado para convertir y combinar varios archivos de entrada en un flujo de salida unificado.

  • Para combinar gráficos vectoriales aislados e ilustraciones EPS en una cartera PDF consolidada, utilice el método PsDocument.mergeToPdf().
  • Para combinar trabajos de impresión e informes PostScript de varios archivos en un único archivo PDF imprimible, utilice el método PsDocument.mergeToPdf().
  • Para combinar distintos archivos XPS, facturas o salidas de páginas por lotes en un único paquete XPS o PDF, utilice el método XpsDocument.merge().

Combinar varios archivos EPS en un único PDF

Combine una matriz de archivos independientes de gráficos vectoriales EPS en un único documento PDF de varias 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.");
    }
}

Combinar varios documentos PostScript (PS) en un único PDF

Combine varios archivos PostScript de varias páginas en un flujo PDF consolidado utilizando rutas y opciones personalizadas de búsqueda de fuentes.

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

Combinar varios documentos XPS en un único archivo XPS

Combine distintos paquetes XPS o páginas de facturas generadas en un único archivo XPS de varias 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.");
    }
}

Instalación y configuración

Agregue Aspose.Page for Java a su 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>

Preguntas frecuentes

1. ¿Puedo combinar documentos XPS directamente en PDF en lugar de XPS?

Sí. Puede cargar un documento XPS mediante XpsDocument y representarlo junto con archivos secundarios mediante PdfDevice para crear directamente un archivo PDF combinado a partir de entradas XPS.

2. ¿Cómo gestiona Aspose.Page las fuentes que faltan al combinar archivos PS o EPS?

Si se hace referencia a fuentes personalizadas en los archivos EPS/PS de entrada, puede proporcionar su ubicación mediante PdfSaveOptions.setAdditionalFontsFolders(). Si faltan, Aspose.Page utiliza la lógica integrada de sustitución de fuentes predeterminada para completar el renderizado sin generar excepciones graves.

3. ¿Se mantiene la eficiencia de memoria durante el procesamiento por lotes de grandes conjuntos de archivos?

Sí. Aspose.Page procesa secuencialmente los flujos de páginas de entrada durante la ejecución del dispositivo PDF, lo que permite combinar de forma eficiente grandes trabajos de impresión empresariales con una baja sobrecarga de memoria.