Convertir PS, EPS y XPS

Solución API de convertidor de PS, EPS y XPS para Java

 

Siempre que sea necesario convertir archivos PostScript PS y Encapsulated PostScript EPS, así como documentos XPS mediante programación, la API de Java puede hacerlo sin problemas y convierte múltiples archivos. Para PS y EPS, la API admite operadores PostScript de niveles 1-3 y la mayoría de los comentarios de encabezado EPS, además de transformar documentos PostScript con la máxima conformidad, a excepción de algunos casos de fuentes; la API trata dichas fuentes como Times New Roman.

Además, para la transformación de archivos XPS, la API puede agregar o eliminar páginas, trabajar con elementos de lienzos (canvases), rutas (paths) y glifos, crear formas de gráficos vectoriales y cadenas de texto, convertir elementos de esquema de XPS y más.

La solución API para Java aquí le permite convertir archivos de formatos PDL como PS, EPS y XPS mediante programación, pero puede resultarle útil ver y probar herramientas multiplataforma desarrolladas sobre estas API nativas.

Conversión de PostScript a PDF a través de Java.

Para convertir archivos PostScript PS y Encapsulated PostScript EPS a PDF a través de la API de Java, debe seguir los siguientes pasos:

  1. Cargue el archivo PS o EPS utilizando la clase PsDocument .
  2. Establezca las opciones de guardado de PDF utilizando la clase PdfSaveOptions .
  3. Utilice la clase FileStream para el archivo PDF de salida.
  4. Utilice la clase PdfDevice que tiene el objeto FileOutputStream como parámetro.
  5. Llame al método PsDocument.Save para guardar el archivo en formato PDF.
Código Java para convertir PS EPS a 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());
        }
}
 

Conversión de PostScript a imágenes a través de Java.

Para cualquier aplicación de conversión de PostScript EPS/PS a imagen, el siguiente código Java funciona bien; siga estos pasos:

  1. Inicialice el flujo de entrada con el archivo fuente PS.
  2. Cree un objeto PsDocument con el flujo de entrada PS creado como parámetro.
  3. Utilice ImageSaveOptions para especificar AdditionalFontsFolder y SuppressError, etc.
  4. Utilice el objeto ImageDevice para especificar un tipo y tamaño de imagen si es necesario.
  5. Guarde el archivo PS/EPS como una imagen con opciones de guardado de imagen como una matriz de matrices de bytes. Una matriz de bytes por cada página del archivo de entrada.
Código Java para la conversión de PostScript a imágenes
// 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());
    }
}
 

Convertir XPS a imágenes JPG, PNG, BMP a través de Java.

La API de Java maneja el formato XPS que se utiliza para representar el diseño de página. En cualquier escenario, siempre que sea necesario convertir XPS a imágenes BMP, JPG, PNG y TIFF mediante programación, el siguiente código puede integrarse fácilmente dentro de la aplicación Java.

  1. Utilice la clase XpsDocument para cargar el documento XPS.
  2. Utilice la clase de opción de imagen relevante, como PngSaveOptions , JpegSaveOptions , BmpSaveOptions o TiffSaveOptions para configuraciones adicionales de imagen.
  3. Cree una instancia de la clase image device .
  4. Llame al método XpsDocument.save para guardar la imagen JPEG convertida en el objeto ImageDevice y luego utilice ImageDevice para guardar la imagen como JPG.
Código Java para la conversión de XPS a imagen
// 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. ¿Puedo convertir Postscript con esta solución API?

Aspose.Page tiene una funcionalidad que le permite convertir archivos PS, XPS y EPS a otros formatos en línea o mediante programación. Si necesita transformar sus archivos instantáneamente en línea, puede usar la aplicación multiplataforma Convertidor de archivos de formato de lenguaje de descripción de página .

2. ¿Qué idiomas de descripción de página son compatibles con el convertidor?

Esta función de conversión admite archivos con extensiones .ps, .eps y .xps. PDL tan famosos como PDF y SVG se representan como soluciones separadas en Aspose.products

3. ¿La funcionalidad es gratuita?

Los convertidores multiplataforma son gratuitos, cuando para la solución API puede obtener una prueba gratuita y luego comprar el producto si es necesario.

 

Convertir XPS a PDF a través de Java.

El proceso de convertir documentos XPS a PDF mediante programación es sencillo y ofrece resultados de alta fidelidad entre los archivos de entrada y salida.

  1. Cargue el archivo utilizando la clase XpsDocument. Inicialice el objeto de la clase PdfSaveOptions .
  2. Cree un objeto PdfDevice para el renderizado y, finalmente, guarde el documento PDF de salida.
Código Java para la conversión de XPS a 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