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

Aspose.Page FOSS para Python

Biblioteca Python gratuita, licenciada sob MIT, para exportar documentos PS, EPS e XPS como PDF e imagens raster. Não é necessário o Office.

Biblioteca Open-Source Python para Conversão de PS, EPS e XPS

Aspose.Page FOSS for Python é uma biblioteca gratuita e de código aberto para converter PostScript (PS), Documentos Encapsulated PostScript (EPS) e XPS em aplicativos Python. Instale‑o com um comando único pip install aspose-page-foss e comece a exportar documentos para PDF e imagens raster sem qualquer dependência proprietária de runtime ou do sistema.

A biblioteca expõe uma API limpa construída em torno de PsDocument e XpsDocument. Carregue um documento com from_file() ou from_bytes(), então chame to_pdf() para obter um fluxo de bytes PDF, ou to_image() com uma instância ImageSaveOptions para renderizar em PNG ou JPEG a um DPI especificado. Um servidor MCP opcional expõe ps_to_pdf, ps_to_image, xps_to_pdf e xps_to_image como ferramentas de conversão remota usando FastMCP.

Como a biblioteca não tem dependência de bibliotecas nativas do Office ou do Ghostscript, ela funciona. de forma idêntica no Windows, Linux e macOS, incluindo runners de CI e contêineres Docker. O A base de código tem licença MIT e está hospedada no GitHub. Desenvolvedores que precisam da API comercial completa. pode usar Aspose.Page para Python juntamente com esses recursos de código aberto. Para a família de produtos empresariais, veja Aspose.Page — Enterprise Product Family.

Converter documentos PS e EPS

  • PS to PDF: Chame PsDocument.from_file() e então to_pdf() para exportar o documento como um array de bytes PDF.
  • EPS para PDF: PsDocument.from_file() aceita tanto as extensões de arquivo .ps quanto .eps.
  • PS/EPS para imagem: Passe um ImageSaveOptions(format="png", dpi=150) para to_image() para saída PNG ou JPEG.
  • Processamento em memória: Todas as conversões retornam bytes — sem arquivos temporários necessários.
  • De bytes: Use PsDocument.from_bytes() para processar dados PS/EPS de um fluxo de rede ou upload.

Onde a Conversão PS/EPS é Usada

  • Document pipelines: Exporte relatórios legados em PostScript para PDF para arquivamento ou distribuição.
  • Fluxos de impressão: Transformar a saída PS de drivers de impressão em visualizações PDF ou de imagem.
  • Processamento de ativos EPS: Rasterizar ilustrações EPS para PNG para uso na web ou em documentação.
  • Automação em lote: Processar diretórios de arquivos PS/EPS em CI ou trabalhos cron sem uma GUI.

Converter documentos XPS

  • XPS para PDF: Chame XpsDocument.from_file() e depois to_pdf() para exportar o arquivo XPS como um array de bytes PDF.
  • XPS para imagem: Chame to_image() com ImageSaveOptions para renderizar páginas XPS em PNG ou JPEG.
  • De bytes: Use XpsDocument.from_bytes() para dados XPS em memória provenientes de uploads ou streams.
  • Acesso à página: Use add_page(), get_page() e remove_page() para trabalhar com páginas individuais.
  • Leitura de pacote XPS: Use XpsPackage.from_file() para inspecionar as partes brutas do pacote XPS.

Onde a Conversão XPS é Usada

  • Spool de impressão do Windows: Exportar arquivos de spool XPS do subsistema de impressão do Windows para PDF ou imagem.
  • Arquivamento de documentos: Transforme arquivos XPS em PDF legível universalmente para armazenamento de longo prazo.
  • Geração de visualização: Renderizar páginas XPS em miniaturas PNG para sistemas de gerenciamento de documentos.
  • Uso multiplataforma: Processar arquivos XPS em servidores Linux e macOS onde visualizadores nativos não estão disponíveis.

Servidor MCP para Conversão Remota

  • Exposição da ferramenta: create_server() registra ps_to_pdf, ps_to_image, xps_to_pdf e xps_to_image como ferramentas MCP via FastMCP.
  • Metadados EPS: A ferramenta eps_metadata extrai a caixa delimitadora e os campos de cabeçalho DSC de arquivos EPS.
  • Tipos de entrada/saída: McpInput aceita um caminho de arquivo ou bytes codificados em base64; McpOutput retorna bytes base64 ou grava em um caminho.
  • Opções de conversão: McpConversionOptions controla o formato de saída e DPI para conversões de imagem.
  • Dependência opcional: FastMCP é necessário apenas para hospedagem de servidor MCP; a conversão principal funciona sem ele.

Casos de Uso do MCP

  • AI agent pipelines: Expor a conversão de documentos como uma ferramenta chamável por Claude ou outros agentes compatíveis com MCP.
  • Microservices: Execute um serviço de conversão leve que aceita PS/EPS/XPS via HTTP.
  • Plug-ins de IDE: Expor a funcionalidade de conversão para editores que suportam servidores de ferramentas MCP.
  • Automação de fluxo de trabalho: Integre a conversão ao n8n ou a plataformas de automação low-code semelhantes.

Modelo de Renderização e Saída PDF

  • RenderModelBuilder: Construa um RenderDocument com begin_page(), add_path(), add_text(), add_image() e end_page().
  • PdfWriter: Passe uma instância de PdfMetadata e chame write(doc) para produzir um array de bytes PDF a partir de qualquer RenderDocument.
  • PdfMetadata: Defina os campos title, creator, producer, creation_date e trapped no PDF de saída.
  • RasterRenderer: Renderize um RenderDocument para um RasterSurface; codifique com encode_png() ou encode_bmp().
  • Codificação Unicode: A camada de saída PDF grava texto Unicode de múltiplos scripts, incluindo CJK e Cirílico.

Casos de Uso de Renderização de Baixo Nível

  • Geração personalizada de PDF: Crie páginas com caminhos vetoriais, texto e imagens sem um arquivo intermediário PS/XPS.
  • Teste pixel-perfect: Use RasterRenderer para renderizar documentos e comparar saídas de pixels em testes automatizados.
  • Incorporação de fontes: Incorpore fontes TrueType usando FontResolver e build_embedded_font() para renderização correta.
  • Gerenciamento de cores: Aplique objetos Paint com espaços de cor DeviceRGB ou baseados em CIE a caminhos e texto.

Converter PS para PDF

Chame PsDocument.from_file() para acessar o arquivo PostScript e chame to_pdf() para exportá‑lo como um fluxo 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)

Converter EPS para PNG

A mesma classe PsDocument lida com arquivos EPS. Passe um ImageSaveOptions com o formato desejado e DPI para 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)

Converter XPS para PDF

Chame XpsDocument.from_file() para acessar o documento XPS e chame to_pdf() para exportá‑lo como um fluxo 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)

Perguntas Frequentes

Qual licença o Aspose.Page FOSS para Python usa?

Aspose.Page FOSS para Python é lançado sob a Licença MIT, permitindo o uso em aplicações comerciais e proprietárias.

Existem dependências nativas?

Não. A biblioteca não tem dependência do Ghostscript, Adobe Reader ou de qualquer runtime nativo. Ela funciona no Windows, Linux e macOS.

Quais formatos de entrada a biblioteca suporta?

A biblioteca lê arquivos PostScript (.ps), Encapsulated PostScript (.eps) e XPS (.xps).

Quais formatos de saída a biblioteca produz?

A biblioteca exporta para PDF via to_pdf() e para imagens raster PNG ou JPEG via to_image() com ImageSaveOptions.

Posso processar arquivos na memória sem I/O de disco?

Sim. Use from_bytes() para carregar a partir de bytes brutos e os bytes retornados de to_pdf() ou to_image() diretamente sem gravar arquivos.

  

Recursos de Suporte e Aprendizado

 Português