Java에서 EPS, PostScript (PS) 및 XPS 문서 병합
Aspose.Page for Java를 사용하여 여러 EPS, PostScript (PS) 및 XPS 파일을 프로그래밍 방식으로 하나의 다중 페이지 PDF 문서로 병합합니다. 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 문서를 XPS가 아닌 PDF로 직접 병합할 수 있나요?
예. XpsDocument를 사용하여 XPS 문서를 로드하고 PdfDevice를 사용하여 보조 파일과 함께 렌더링하면 XPS 입력에서 직접 병합된 PDF 파일을 생성할 수 있습니다.
2. PS 또는 EPS 파일을 병합할 때 Aspose.Page는 누락된 글꼴을 어떻게 처리하나요?
입력 EPS/PS 파일에서 사용자 지정 글꼴이 참조되는 경우 PdfSaveOptions.setAdditionalFontsFolders()를 사용하여 해당 위치를 제공할 수 있습니다. 글꼴이 누락된 경우 Aspose.Page는 기본 제공 기본 글꼴 대체 로직을 사용하여 치명적인 예외를 발생시키지 않고 렌더링을 완료합니다.
3. 대규모 파일 집합을 일괄 처리하는 동안 메모리 효율성이 유지되나요?
예. Aspose.Page는 PDF 디바이스 실행 중에 입력 페이지 스트림을 순차적으로 처리하므로 대규모 엔터프라이즈 인쇄 작업을 낮은 메모리 오버헤드로 효율적으로 결합할 수 있습니다.