การผสานเอกสาร 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 ทำให้งานพิมพ์ระดับองค์กรขนาดใหญ่สามารถรวมกันได้อย่างมีประสิทธิภาพโดยใช้หน่วยความจำในระดับต่ำ