1. Productos
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS para Python

Biblioteca Python gratuita y con licencia MIT para exportar documentos PS, EPS y XPS como PDF e imágenes raster. No se requiere Office.

Biblioteca Python de código abierto para la conversión de PS, EPS y XPS

Aspose.Page FOSS para Python es una biblioteca libre y de código abierto para convertir PostScript (PS), Encapsulated PostScript (EPS) y documentos XPS en aplicaciones Python. Instálalo con un comando pip install aspose-page-foss único y comienza a exportar documentos a PDF y imágenes raster sin ninguna dependencia propietaria de tiempo de ejecución o del sistema.

La biblioteca expone una API limpia construida alrededor de PsDocument y XpsDocument. Carga un documento con from_file() o from_bytes(), luego llame a to_pdf() para obtener un flujo de bytes PDF, o to_image() con una instancia de ImageSaveOptions para renderizar a PNG o JPEG a una DPI especificada. Un servidor MCP opcional expone ps_to_pdf, ps_to_image, xps_to_pdf y xps_to_image como herramientas de conversión remota usando FastMCP.

Porque la biblioteca no tiene dependencia de bibliotecas nativas de Office o Ghostscript, se ejecuta. idénticamente en Windows, Linux y macOS, incluidos los runners de CI y los contenedores Docker. El codebase tiene licencia MIT y está alojado en GitHub. Desarrolladores que necesiten la API comercial completa. puede usar Aspose.Page para Python junto a estos recursos de código abierto. Para la familia de productos empresariales, consulte Aspose.Page — Enterprise Product Family.

Convertir documentos PS y EPS

  • PS to PDF: Llama a PsDocument.from_file() y luego a to_pdf() para exportar el documento como una matriz de bytes PDF.
  • EPS a PDF: PsDocument.from_file() acepta tanto las extensiones de archivo .ps como .eps.
  • PS/EPS a imagen: Pase un ImageSaveOptions(format="png", dpi=150) a to_image() para salida PNG o JPEG.
  • Procesamiento en memoria: Todas las conversiones devuelven bytes — no se requieren archivos temporales.
  • Desde bytes: Use PsDocument.from_bytes() para procesar datos PS/EPS desde un flujo de red o una carga.

Dónde se usa la conversión PS/EPS

  • Flujos de documentos: Exportar informes heredados de PostScript a PDF para archivado o distribución.
  • Flujos de impresión: Transformar la salida PS de los controladores de impresión en vistas previas PDF o de imagen.
  • Procesamiento de activos EPS: Rasterizar ilustraciones EPS a PNG para uso web o de documentación.
  • Automatización por lotes: Procesa directorios de archivos PS/EPS en CI o trabajos cron sin una GUI.

Convertir documentos XPS

  • XPS a PDF: Llama a XpsDocument.from_file() y luego a to_pdf() para exportar el archivo XPS como una matriz de bytes PDF.
  • XPS a imagen: Llama a to_image() con ImageSaveOptions para renderizar páginas XPS a PNG o JPEG.
  • Desde bytes: Use XpsDocument.from_bytes() para datos XPS en memoria provenientes de cargas o flujos.
  • Acceso a la página: Utilice add_page(), get_page() y remove_page() para trabajar con páginas individuales.
  • Lectura de paquetes XPS: Utilice XpsPackage.from_file() para inspeccionar las partes crudas del paquete XPS.

Dónde se usa la conversión XPS

  • Windows print spool: Exportar archivos de spool XPS del subsistema de impresión de Windows a PDF o imagen.
  • Archivado de documentos: Transformar archivos XPS a PDF legible universalmente para almacenamiento a largo plazo.
  • Generación de vista previa: Renderizar páginas XPS a miniaturas PNG para sistemas de gestión documental.
  • Uso multiplataforma: Procese archivos XPS en servidores Linux y macOS donde los visores nativos no están disponibles.

Servidor MCP para conversión remota

  • Exposición de la herramienta: create_server() registra ps_to_pdf, ps_to_image, xps_to_pdf y xps_to_image como herramientas MCP a través de FastMCP.
  • Metadatos EPS: La herramienta eps_metadata extrae la caja delimitadora y los campos de encabezado DSC de los archivos EPS.
  • Tipos de entrada/salida: McpInput acepta una ruta de archivo o bytes codificados en base64; McpOutput devuelve bytes en base64 o escribe en una ruta.
  • Opciones de conversión: McpConversionOptions controla el formato de salida y DPI para conversiones de imagen.
  • Dependencia opcional: FastMCP solo se requiere para el alojamiento del servidor MCP; la conversión principal funciona sin él.

Casos de uso de MCP

  • AI agent pipelines: Exponer la conversión de documentos como una herramienta que pueda ser llamada por Claude u otros agentes compatibles con MCP.
  • Microservices: Ejecute un servicio de conversión ligero que acepte PS/EPS/XPS a través de HTTP.
  • IDE plugins: Exponer la funcionalidad de conversión a editores que soportan servidores de herramientas MCP.
  • Automatización de flujos de trabajo: Integre la conversión en n8n o plataformas de automatización de bajo código similares.

Modelo de renderizado y salida PDF

  • RenderModelBuilder: Construye un RenderDocument con begin_page(), add_path(), add_text(), add_image() y end_page().
  • PdfWriter: Pase una instancia de PdfMetadata y llame a write(doc) para producir una matriz de bytes PDF a partir de cualquier RenderDocument.
  • PdfMetadata: Establezca los campos title, creator, producer, creation_date y trapped en el PDF de salida.
  • RasterRenderer: Renderizar un RenderDocument a un RasterSurface; codificar con encode_png() o encode_bmp().
  • Codificación Unicode: La capa de salida PDF escribe texto Unicode multilingüe que incluye CJK y cirílico.

Casos de uso de renderizado de bajo nivel

  • Generación de PDF personalizada: Construya páginas con rutas vectoriales, texto e imágenes sin un archivo intermedio PS/XPS.
  • Pruebas pixel-perfect: Use RasterRenderer para renderizar documentos y comparar salidas de píxeles en pruebas automatizadas.
  • Incrustación de fuentes: Incruste fuentes TrueType usando FontResolver y build_embedded_font() para una renderización correcta.
  • Gestión del color: Aplicar Paint objetos con DeviceRGB o espacios de color basados en CIE a rutas y texto.

Convertir PS a PDF

Llame a PsDocument.from_file() para acceder al archivo PostScript y llame a to_pdf() para exportarlo como una secuencia de bytes PDF.

from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
output_pdf = ps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

Convertir EPS a PNG

La misma clase PsDocument maneja archivos EPS. Pase un ImageSaveOptions con el formato y DPI deseados a to_image().

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
output_png = eps.to_image(ImageSaveOptions(format="png", dpi=150))
with open("output.png", "wb") as f:
    f.write(output_png)

Convertir XPS a PDF

Llame a XpsDocument.from_file() para acceder al documento XPS y llame a to_pdf() para exportarlo como un flujo de bytes PDF.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("input.xps")
output_pdf = xps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

Preguntas frecuentes

¿Qué licencia usa Aspose.Page FOSS para Python?

Aspose.Page FOSS para Python se publica bajo la MIT License, permitiendo su uso en aplicaciones comerciales y propietarias.

¿Hay dependencias nativas?

No. La biblioteca no tiene dependencia de Ghostscript, Adobe Reader, ni de ningún runtime nativo. Funciona en Windows, Linux y macOS.

¿Qué formatos de entrada admite la biblioteca?

La biblioteca lee archivos PostScript (.ps), Encapsulated PostScript (.eps) y XPS (.xps).

¿Qué formatos de salida produce la biblioteca?

La biblioteca exporta a PDF mediante to_pdf() y a imágenes raster PNG o JPEG mediante to_image() con ImageSaveOptions.

¿Puedo procesar archivos en memoria sin I/O de disco?

Sí. Use from_bytes() para cargar desde bytes sin procesar y los bytes devueltos por to_pdf() o to_image() directamente sin escribir archivos.

  

Recursos de soporte y aprendizaje

 Español