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