Hợp nhất tài liệu EPS, PostScript (PS) và XPS trong Java

Hợp nhất nhiều tệp EPS, PostScript (PS) và XPS theo cách lập trình thành một tài liệu PDF nhiều trang duy nhất bằng Aspose.Page for Java. Kết hợp liền mạch các đồ họa vector riêng lẻ, tệp in hoặc luồng trang giữa các định dạng tài liệu khác nhau mà không cần phụ thuộc vào Adobe Acrobat, Distiller hoặc các tiện ích in gốc của Windows.

 

Aspose.Page for Java cung cấp các thiết bị kết xuất chuyên dụng (PdfDevice, ImageDevice) và các tùy chọn lưu để chuyển đổi và kết hợp nhiều tệp đầu vào thành một luồng đầu ra thống nhất.

  • Để kết hợp các đồ họa vector riêng biệt và hình minh họa EPS thành một danh mục PDF hợp nhất, hãy sử dụng phương thức PsDocument.mergeToPdf().
  • Để hợp nhất các tác vụ in và báo cáo PostScript gồm nhiều tệp thành một tệp PDF duy nhất có thể in, hãy sử dụng phương thức PsDocument.mergeToPdf().
  • Để kết hợp các tệp XPS, hóa đơn hoặc đầu ra trang hàng loạt khác nhau thành một gói XPS hoặc PDF duy nhất, hãy sử dụng phương thức XpsDocument.merge().

Hợp nhất nhiều tệp EPS thành một PDF duy nhất

Hợp nhất một mảng các tệp đồ họa vector EPS riêng biệt thành một tài liệu PDF nhiều trang duy nhất.

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

Hợp nhất nhiều tài liệu PostScript (PS) thành một PDF duy nhất

Kết hợp nhiều tệp PostScript nhiều trang thành một luồng PDF hợp nhất bằng cách sử dụng các đường dẫn và tùy chọn tìm kiếm phông chữ tùy chỉnh.

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

Hợp nhất nhiều tài liệu XPS thành một tệp XPS duy nhất

Kết hợp các gói XPS khác nhau hoặc các trang hóa đơn được tạo thành một tệp XPS nhiều trang duy nhất.

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

Cài đặt và thiết lập

Thêm Aspose.Page for Java vào Maven của bạn:

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. Tôi có thể hợp nhất trực tiếp các tài liệu XPS thành PDF thay vì XPS không?

Có. Bạn có thể tải tài liệu XPS bằng XpsDocument và kết xuất tài liệu đó cùng với các tệp phụ bằng PdfDevice để tạo trực tiếp một tệp PDF hợp nhất từ các đầu vào XPS.

2. Aspose.Page xử lý các phông chữ bị thiếu như thế nào khi hợp nhất các tệp PS hoặc EPS?

Nếu các phông chữ tùy chỉnh được tham chiếu trong các tệp EPS/PS đầu vào, bạn có thể cung cấp vị trí của chúng bằng PdfSaveOptions.setAdditionalFontsFolders(). Nếu bị thiếu, Aspose.Page sử dụng logic thay thế phông chữ mặc định được tích hợp sẵn để hoàn tất quá trình kết xuất mà không phát sinh ngoại lệ nghiêm trọng.

3. Hiệu quả sử dụng bộ nhớ có được duy trì khi xử lý hàng loạt các tập hợp tệp lớn không?

Có. Aspose.Page xử lý tuần tự các luồng trang đầu vào trong quá trình thực thi thiết bị PDF, cho phép kết hợp hiệu quả các lệnh in lớn dành cho doanh nghiệp với mức tiêu thụ bộ nhớ thấp.