Introducción

PostScript (PS) y Postcript Encapsulado (EPS), son los formatos de documento vector utilizados en el flujos de trabajo impresos, sistemas de publicación de legado y tuberías gráficas. Aspose.Página FOSS para Python proporciona PsDocument - Una clase que gestiona ambos .ps y .eps Los archivos - con métodos para exportarlos a PDF o raster imágenes directamente desde el código de Python.

La biblioteca no requiere ninguna instalación de Ghostscript, ningún tiempo de trabajo de Adobe y ninguna dependencia del sistema nativo. se ejecuta en Windows, Linux y macOS. Instalarlo con pip y usarlo inmediatamente en cualquier entorno Python 3.10+.


Cargar archivos PS y EPS

PsDocument Exponen dos métodos de clase para cargar un documento. from_file() Lea de A El camino de archivo; from_bytes() acepta los bajos crudos de un flujo o upload.

from aspose.page.ps.document import PsDocument

# Load from file path
ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")

# Load from bytes (network stream, upload, etc.)
with open("document.ps", "rb") as f:
    data = f.read()
ps_from_bytes = PsDocument.from_bytes(data)

El is_eps La propiedad devuelve True si el documento es un archivo EPS, que es útil cuando se procesar un conjunto mixto de archivos PS y EPS a través del mismo camino de código.


Exportación a PDF

llamadas to_pdf() En una carga PsDocument Para obtener la producción como una bytes Objeto: El el resultado es un flujo de PDF bits válido que puede ser escrito en disco, almacenado en una base de datos, o Retorno de un punto final HTTP.

from pathlib import Path
from aspose.page.ps.document import PsDocument

ps = PsDocument.from_file("input.ps")
pdf_bytes = ps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)

No se requiere ningún objeto de opciones para una exportación PDF por defecto. to_pdf() El método acepta una Parámetros de opciones opcionales para casos de uso avanzado.


Exportaciones a Raster Imágenes

Para render un documento PS o EPS a una imagen raster, pasa un ImageSaveOptions El caso de to_image().Sitio Set format para "png" o "jpeg" y dpi Control de la resolución de producción. El método de regreso a bytes El objeto que contiene la imagen codificada.

from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)
Path("output.png").write_bytes(png_bytes)

Para la salida de JPEG, cambio format="jpeg".El dpi devolución del 96 cuando no se establece.


Leer los metadatos de EPS

PsDocument Exponer a dsc La propiedad que devuelve a DscMetadata Cuando el DSC Los comentarios están presentes en el archivo. DscMetadata proporciona acceso estructurado a la caja de límite las coordenadas, el tamaño de la página, la orientación, título y los campos creadores parsed desde el encabezado EPS.

from aspose.page.ps.document import PsDocument

eps = PsDocument.from_file("illustration.eps")
dsc = eps.dsc
if dsc is not None:
    print("Title:", dsc.title)
    print("Bounding box:", dsc.bounding_box)
    print("HiRes bounding box:", dsc.hires_bounding_box)

Conversión Batch

Porque todos los métodos de conversión regresan bytes y aceptar los caminos de archivo o bajas crudas como entrada, El procesamiento de batch se implementa con los logos Python estándar o concurrent.futures.

from pathlib import Path
from aspose.page.ps.document import PsDocument

input_dir = Path("ps-files")
output_dir = Path("pdf-output")
output_dir.mkdir(exist_ok=True)

for ps_file in input_dir.glob("*.ps"):
    doc = PsDocument.from_file(str(ps_file))
    out_path = output_dir / ps_file.with_suffix(".pdf").name
    out_path.write_bytes(doc.to_pdf())
    print("Converted:", ps_file.name)

El mismo patrón se aplica a los archivos EPS cambiando el patrono glob para "*.eps".


Empezando a

Recursos relacionados