Конвертація 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, вам необхідно виконати наступні кроки:

  1. Завантажте файл PS або EPS за допомогою класу PsDocument .
  2. Налаштуйте параметри збереження PDF за допомогою класу PdfSaveOptions .
  3. Використовуйте клас FileStream для вихідного PDF-файлу.
  4. Використовуйте клас PdfDevice , що має об’єкт FileOutputStream як параметр.
  5. Викличте 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-код працює добре; виконайте наступні кроки:

  1. Ініціалізуйте вхідний потік вихідним файлом PS.
  2. Створіть об’єкт PsDocument зі створеним вхідним потоком PS як параметр
  3. Використовуйте ImageSaveOptions для вказівки AdditionalFontsFolder, SuppressError тощо.
  4. Використовуйте об’єкт ImageDevice для вказівки типу та розміру зображення, якщо це необхідно.
  5. Збережіть файл 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-додаток.

  1. Використовуйте клас XpsDocument для завантаження XPS-документа.
  2. Використовуйте відповідний клас параметрів зображення, такий як PngSaveOptions , JpegSaveOptions , BmpSaveOptions , TiffSaveOptions для додаткових налаштувань зображення.
  3. Створіть екземпляр класу image device .
  4. Викличте 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.products

3. Чи безкоштовна ця функціональність?

Кросплатформні конвертери безкоштовні, тоді як для рішення API ви можете отримати безкоштовну пробну версію, а потім придбати продукт, якщо це необхідно.

 

Конвертуйте XPS у PDF через Java.

Процес програмної конвертації документів XPS у PDF простий і забезпечує високу точність відповідності між вхідними та вихідними файлами.

  1. Завантажте файл за допомогою класу XpsDocument. Ініціалізуйте об’єкт класу PdfSaveOptions .
  2. Створіть об’єкт 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);