Introducción

Aspose.Page FOSS for Python is a free, open-source library for converting PostScript (PS), PostScript (EPS) y documentos XPS en PDF y raster imágenes en Python Se distribuye bajo la licencia MIT y está disponible en PyPI como aspose-page-foss.

La biblioteca ofrece dos clases de documento de alto nivel: PsDocument para los archivos PS y EPS, y XpsDocument para los archivos XPS. ambas clases exponen to_pdf() y to_image() Metodología que retorna los arágenes de byte, lo que hace fácil integrarse en el procesamiento de archivos Pipe sin escribir archivos temporales.

Debido a que la biblioteca no tiene ninguna dependencia de Ghostscript, Adobe Reader o cualquier tiempo nativo de trabajo del Office, se ejecuta en Windows, Linux y macOS incluyendo los runners CI y contenedores Docker. Los desarrolladores que necesitan la API comercial completa con funciones avanzadas de renderización pueden seguir utilizando el producto empresarial Aspose.Page para Python junto a estas utilidades de código abierto.


Lo que está incluido

PS y EPS en PDF Conversion

PsDocument Tiene que ver con el postScript (.psy el postScript encapsulado (.eps• Files a través de la misma interfaz de clase. llamado PsDocument.from_file() para cargar un documento, y luego llamadas to_pdf() Para obtener el resultado como un array de PDF byte.

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)

El from_bytes() El método de clase acepta los bajos crudos, por lo que los documentos llegan desde la red. Los flujos o las cargas de archivos se pueden procesar sin escribir en el disco primero.

PS y EPS para raster image

Para render un documento PS o EPS a una imagen PNG o JPEG, haga clic en el siguiente enlace: ImageSaveOptions instancia para to_image().-Sete el format Propiedad para "png" o "jpeg" Y el dpi Propiedad Control de la resolución de producción.

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

eps = PsDocument.from_file("input.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)

XPS a PDF y imagen

XpsDocument cargar archivos XPS y exponer lo mismo to_pdf() y to_image() Interface como PsDocument.llamadas XpsDocument.from_file() para cargar un documento XPS, luego convertir en El formato de salida deseado.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
from aspose.page.ps.output import ImageSaveOptions

xps = XpsDocument.from_file("input.xps")
pdf_bytes = xps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)

png_bytes = xps.to_image(ImageSaveOptions(format="png", dpi=96))

Procesamiento de memoria in-memory

Todos los métodos de conversión regresan bytes Los archivos temporales nunca se requieren a menos que el La aplicación explicitamente los escribe. el from_bytes() Los constructores en ambos PsDocument y XpsDocument aceptar los bajos crudos como entrada, para que toda la pipeline pueda permanecer en memoria.

from aspose.page.ps.document import PsDocument

def convert_ps_in_memory(ps_bytes: bytes) -> bytes:
    doc = PsDocument.from_bytes(ps_bytes)
    return doc.to_pdf()

Integración de MCP Server

La biblioteca incluye un servidor MCP opcional que exponga funciones de conversión como remota. herramientas que utilizan FastMCP. los registros de servidor ps_to_pdf, ps_to_image, xps_to_pdf,y, xps_to_image como herramientas llamables. McpInput acepta un camino de archivo o bajas codificadas base64; McpOutput devolverá base64 bytes o escribe a un camino.

FastMCP es una dependencia opcional - la funcionalidad de conversión central funciona sin ella. el servidor MCP está útil para hacer que la biblioteca sea llamable desde los tubos de agentes AI, microservices y editores que soportan servidores de herramientas M CP.


Inicio rápido

Instalar la biblioteca con el pip:

pip install aspose-page-foss>=0.1.0

El siguiente ejemplo cubre el caso de uso más común —convertir un archivo PS en PDF y guardarlo en disco:

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

# Convert PS to PDF
ps = PsDocument.from_file("document.ps")
Path("document.pdf").write_bytes(ps.to_pdf())

# Convert EPS to PNG at 150 DPI
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("illustration.png").write_bytes(eps.to_image(opts))

# Convert XPS to PDF
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("document.xps")
Path("document.pdf").write_bytes(xps.to_pdf())

Formatos apoyados

Aspose.Page FOSS for Python reads PostScript (.psEn el caso de los postScript (.epsy) y Especificaciones de la etiqueta (XML).xpsLos archivos de la página son PDF (.pdfy raster imágenes (.png, .jpegTodas las conversiones son exportadas únicamente — la biblioteca no escribe PS, EPS o XPS.


Open Source y Licenciación

Aspose.Page FOSS for Python is released under the MIT license. The source code is hosted En el GitHub en github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. El uso comercial está permitido sin restricciones bajo los términos del MIT.


Empezando a

Recursos relacionados