Конвертация PS, EPS и XPS
API решение для конвертера PS, EPS и XPS для Java
Всякий раз, когда возникает необходимость программно конвертировать файлы PostScript PS и Encapsulated PostScript EPS, а также документы XPS, Java API может сделать это плавно и конвертировать несколько файлов. Для PS и EPS API поддерживает операторы PostScript уровней 1-3 и большинство комментариев заголовка EPS, а также преобразует документы PostScript с максимальным соответствием, за исключением нескольких случаев со шрифтами; API обрабатывает такие шрифты как Times New Roman.
Кроме того, для преобразования файлов XPS API может добавлять или удалять страницы, работать с холстами (canvases), контурами (paths) и элементами глифов (glyphs), создавать формы векторной графики и текстовые строки, конвертировать элементы структуры XPS и многое другое.
Представленное здесь API решение для Java позволяет программно конвертировать файлы таких форматов PDL, как PS, EPS и XPS, но вам может быть полезно увидеть и попробовать кроссплатформенные инструменты, разработанные на этих нативных API.
Конвертация PostScript в PDF через Java.
Чтобы конвертировать файлы PostScript PS и Encapsulated PostScript EPS в PDF через Java API, вам необходимо выполнить следующие шаги:
- Загрузите файл PS или EPS с помощью класса PsDocument .
- Настройте параметры сохранения PDF с помощью класса PdfSaveOptions .
- Используйте класс FileStream для выходного PDF-файла.
- Используйте класс PdfDevice , принимающий объект FileOutputStream в качестве параметра.
- Вызовите PsDocument.Save для сохранения файла в формате PDF.
Java-код для конвертации PS EPS в PDF
// The path to the documents directory.
String dataDir = Utils.getDataDir();
// Initialize PS document with PostScript file
PsDocument document = new PsDocument(dataDir + "input.ps");
// If you want to convert Postscript file despite of minor errors set this flag
boolean suppressErrors = true;
//Initialize options object with necessary parameters.
PdfSaveOptions options = new PdfSaveOptions(suppressErrors);
// Default page size is 595x842 and it is not mandatory to set it in PdfDevice
// But if you need to specify size and image format use following line
// PdfSaveOptions options = new PdfSaveOptions(suppressErrors, new Dimension(595, 842));
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
//options.setAdditionalFontsFolders(new String [] {"FONTS_FOLDER"});
// Save PS document to PDF file
document.saveAsPdf(dataDir + "PStoPDF.pdf", options);
//Review errors
if (suppressErrors) {
for (Exception ex : pdfOptions.getExceptions()) {
System.out.println(ex.getMessage());
}
}Конвертация PostScript в изображения через Java.
Для любого приложения-конвертера PostScript EPS/PS в изображения следующий Java-код работает хорошо; выполните следующие шаги:
- Инициализируйте входной поток исходным файлом PS.
- Создайте объект PsDocument с созданным входным потоком PS в качестве параметра
- Используйте ImageSaveOptions для указания AdditionalFontsFolder, SuppressError и т. д.
- Используйте объект ImageDevice для указания типа и размера изображения, если это необходимо.
- Сохраните файл PS/EPS как изображение с параметрами сохранения изображения в виде массива массивов байтов. Один массив байтов для одной страницы входного файла.
Java-код для конвертации PostScript в изображения
// The path to the documents directory.
String dataDir = Utils.getDataDir();
// Initialize PS document with PostScript file
PsDocument document = new PsDocument(dataDir + "input.ps");
// If you want to convert Postscript file despite of minor errors set this flag
boolean suppressErrors = true;
// Initialize options object with necessary parameters.
ImageSaveOptions options = new ImageSaveOptions(suppressErrors);
// Default image format is PNG and it is not mandatory to set it in ImageSaveOptions.
// But if you need to specify another format use following line
// options.setImageFormat(ImageFormat.JPEG);
// Default image size is 595x842 and it is not mandatory to set it in ImageDevice
// But if you need to specify size and image format use constructor with parameters
// ImageSaveOptions options = new ImageSaveOptions(new Dimension(595, 842), ImageFormat.JPEG, suppressErrors);
// If you want to add special folder where fonts are stored. Default fonts folder in OS is always included.
// options.setAdditionalFontsFolders(new String [] {"FONTS_FOLDER"});
// Save PS document as images bytes arrays, one bytes array for one page of the document.
byte[][] imagesBytes = document.saveAsImage(options);
int i = 0;
for (byte [] imageBytes : imagesBytes) {
String imagePath = dataDir + "PSToImage" + i + "." + options.getImageFormat().toString().toLowerCase();
FileOutputStream fs = new FileOutputStream(imagePath);
try {
fs.write(imageBytes, 0, imageBytes.length);
} catch (IOException ex) {
System.out.println(ex.getMessage());
} finally {
fs.close();
}
i++;
}
//Review errors
if (suppressErrors) {
for (Exception ex : options.getExceptions()) {
System.out.println(ex.getMessage());
}
}Конвертируйте XPS в изображения JPG, PNG, BMP через Java.
Java API работает с форматом XPS, который используется для представления макета страницы. В любом сценарии, когда возникает необходимость программно конвертировать XPS в изображения BMP, JPG, PNG и TIFF, следующий код может быть легко интегрирован в Java-приложение.
- Используйте класс XpsDocument для загрузки XPS-документа.
- Используйте соответствующий класс параметров изображения, такой как PngSaveOptions , JpegSaveOptions , BmpSaveOptions , TiffSaveOptions для дополнительных настроек изображения.
- Создайте экземпляр класса image device .
- Вызовите XpsDocument.save для сохранения конвертированного изображения JPEG в объект ImageDevice, а затем используйте ImageDevice для сохранения изображения в формате JPG.
Java-код для конвертации XPS в изображение
// The path to the documents directory.
String pathDir = Utils.getDataDir();
// Load XPS document
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Initialize options object with necessary parameters.
com.aspose.xps.rendering.PngSaveOptions options = new com.aspose.xps.rendering.PngSaveOptions();
options.setSmoothingMode(com.aspose.xps.rendering.SmoothingMode.HighQuality);
options.setResolution(300);
options.setPageNumbers(new int[] { 1, 2, 6 });
// Save XPS document as images bytes array. One bytes array for one page of every parttion in the document
byte [][][] imagesBytes = document.saveAsImage(options);
// Iterate through document partitions (fixed documents, in XPS terms)
for (int i = 0; i < imagesBytes.length; i++) {
// Iterate through partition pages
for (int j = 0; j < imagesBytes[i].length; j++) {
// Initialize image output stream
FileOutputStream imageStream = new FileOutputStream(dataDir + "XPStoPNG" + "_" + (i + 1) + "_" + (j + 1) + ".png");
// Write image
imageStream.write(imagesBytes[i][j], 0, imagesBytes[i][j].length);
imageStream.close();
}
}FAQ
1. Могу ли я преобразовать Postscript с помощью этого решения API?
Aspose.Page имеет функциональные возможности, позволяющие конвертировать файлы PS, XPS и EPS в другие форматы онлайн или программно. Если вам нужно мгновенно преобразовать файлы онлайн, вы можете использовать кроссплатформенное приложение Конвертер файлов формата описания страницы .
2. Какие языки описания страниц поддерживаются конвертером?
Эта функция преобразования поддерживает файлы с расширениями .ps, .eps и .xps. Такие известные PDL, как PDF и SVG, представлены в виде отдельных решений в продуктах Aspose.
3. Функционал бесплатный?
Кросс-платформенные конвертеры бесплатны, когда для решения API вы можете получить бесплатную пробную версию, а затем купить продукт, если это необходимо.
Конвертируйте XPS в PDF через Java.
Процесс программной конвертации документов XPS в PDF прост и обеспечивает высокую точность соответствия между входными и выходными файлами.
- Загрузите файл с помощью класса XpsDocument. Инициализируйте объект класса PdfSaveOptions .
- Создайте объект PdfDevice для рендеринга и, наконец, сохраните выходной PDF-документ.
Java-код для конвертации XPS в PDF
// Load input XPS document
XpsDocument document = new XpsDocument(dataDir + "input.xps");
// Initialize options object with necessary parameters
PdfSaveOptions options = new PdfSaveOptions();
options.setJpegQualityLevel(100);
options.setImageCompression(PdfImageCompression.Jpeg);
options.setTextCompression(PdfTextCompression.Flate);
// Save XPS document to output PDF file
document.saveAsPdf(dataDir + "XPStoPDF.pdf", options);Support and Learning Resources
- Образовательные ресурсы
- Документация
- Исходный код
- Ссылки на API
- Поддержка продукта
- Бесплатная поддержка
- Платная поддержка
- Блог
- Release Notes
- Почему Aspose.Page для Java?
- Список клиентов
- Истории успеха