Объединение документов EPS, PostScript (PS) и XPS в Java

Программно объединяйте несколько файлов EPS, PostScript (PS) и XPS в отдельные многостраничные PDF-документы с помощью Aspose.Page for Java. Объединяйте отдельные векторные изображения, файлы печати или потоки страниц без проблем между различными форматами документов, не полагаясь на Adobe Acrobat, Distiller или встроенные средства печати Windows.

 

Aspose.Page for Java предоставляет специализированные устройства визуализации (PdfDevice, ImageDevice) и параметры сохранения для преобразования и объединения нескольких входных файлов в единый выходной поток.

  • Чтобы объединить отдельные векторные изображения и иллюстрации EPS в единый консолидированный PDF-портфолио, используйте метод PsDocument.mergeToPdf().
  • Чтобы объединить многокомпонентные задания печати и отчёты PostScript в один файл PDF, пригодный для печати, используйте метод PsDocument.mergeToPdf().
  • Чтобы объединить различные файлы XPS, счета-фактуры или пакетные выходные данные страниц в один пакет XPS или PDF, используйте метод XpsDocument.merge().

Объединение нескольких файлов EPS в один PDF

Объедините массив отдельных файлов векторной графики EPS в один многостраничный PDF-документ.

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

Объединение нескольких документов PostScript (PS) в один PDF

Объедините несколько многостраничных файлов PostScript в единый консолидированный PDF-поток, используя настраиваемые пути и параметры поиска шрифтов.

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

Объединение нескольких документов XPS в один файл XPS

Объедините различные пакеты XPS или созданные страницы счетов-фактур в один многостраничный файл XPS.

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

Установка и настройка

Добавьте Aspose.Page for Java в 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. Можно ли напрямую объединить документы XPS в PDF, а не в XPS?

Да. Вы можете загрузить документ XPS с помощью XpsDocument и визуализировать его вместе с дополнительными файлами с помощью PdfDevice, чтобы создать объединенный PDF-файл непосредственно из входных файлов XPS.

2. Как Aspose.Page обрабатывает отсутствующие шрифты при объединении файлов PS или EPS?

Если во входных файлах EPS/PS имеются ссылки на пользовательские шрифты, вы можете указать их расположение с помощью PdfSaveOptions.setAdditionalFontsFolders(). Если шрифты отсутствуют, Aspose.Page использует встроенную логику замены шрифтов по умолчанию для завершения визуализации без возникновения критических исключений.

3. Сохраняется ли эффективность использования памяти при пакетной обработке больших наборов файлов?

Да. Aspose.Page последовательно обрабатывает потоки входных страниц во время выполнения PDF-устройства, что позволяет эффективно объединять крупные корпоративные задания печати с низкими накладными расходами памяти.