Объединение документов 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-устройства, что позволяет эффективно объединять крупные корпоративные задания печати с низкими накладными расходами памяти.