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

Aspose.Page FOSS for Python

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

Biblioteca Python de código aberto para PS, EPS e XPS Conversion

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

A biblioteca expõe um API limpo construído 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 para PNG ou JPEG em 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 remotas usando FastMCP.

Como a biblioteca não tem dependência de bibliotecas nativas do Office ou Ghostscript, ela funciona identicamente no Windows, Linux e macOS, incluindo runners de CI e contêineres Docker. O código-fonte tem licença MIT e está hospedado no GitHub. Desenvolvedores que precisam da versão comercial completa API podem usar Aspose.Page para Python junto com esses recursos de código aberto. Para o produto empresarial, veja Aspose.Page for Python — Enterprise Product.

Conversão de documentos PS e EPS

  • ** PS para PDF:** Chame PsDocument.from_file() e depois to_pdf() para exportar o documento como uma matriz de bytes PDF.
  • EPS para PDF: PsDocument.from_file() aceita ambas as extensões de ficheiro .ps e .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 não são necessários arquivos temporários.
  • ** De bytes:** Utilize PsDocument.from_bytes() para processar dados PS/EPS de um fluxo ou upload de rede.

Onde é utilizada a conversão PS/EPS

  • Pipelines de documentos: Exportar relatórios PostScript legados para PDF para arquivamento ou distribuição.
  • ** Fluxos de trabalho de impressão:** Transformar a saída PS dos drivers de imprensa em PDF ou visualizações prévias de imagens.
  • ** Processamento de ativos EPS:** Rasterização das ilustrações E PS para PNG para utilização na web ou documentação.
  • Automatização por lotes: Processar diretórios de arquivos PS/EPS em trabalhos CI ou cron sem uma interface gráfica.

Converter documentos XPS

  • XPS para PDF: Chame XpsDocument.from_file() e depois to_pdf() para exportar o arquivo XPS como uma matriz de bytes PDF.
  • XPS para imagem: Chame to_image() com ImageSaveOptions para render páginas XPS em PNG ou JPEG.
  • ** De bytes:** Use XpsDocument.from_bytes() para dados XPS em memória de uploads ou streams.
  • ** Acesso à página:** Use add_page(), get_page() e remove_page() para trabalhar com páginas individuais.
  • ** Leitura do pacote XPS:** Utilize XpsPackage.from_file() para inspecionar as peças de pacotes Xps em bruto.

Onde a conversão XPS é usada

  • Spool de impressão do Windows: Exportar arquivos XPS com bobina a partir do subsistema de imprensa do Microsoft Windows para PDF ou imagem.
  • Arquivamento de documentos: Transformar arquivos XPS em PDF legíveis universalmente para armazenamento a longo prazo.
  • Geração de pré-visualização: Render páginas XPS para miniaturas PNG para sistemas de gerenciamento de documentos.
  • ** Uso de plataforma cruzada:** Processar arquivos XPS em servidores Linux e macOS onde os visualizadores nativos não estão disponíveis.

MCP Server 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 devolve 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 do servidor MCP; a conversão principal funciona sem ele.

Casos de utilização dos MCP

  • Pilhas de agentes IA: Expor a conversão de documentos como uma ferramenta que pode ser chamada por Claude ou outros agentes compatíveis com o MCP.
  • ** Microservices:** Execute um serviço de conversão leve aceitando PS/EPS/XPS através do HTTP.
  • ** Plugins do IDE:** Funcionalidade de conversão da superfície para editores que suportam servidores de ferramentas MCP.
  • Automatização do fluxo de trabalho: Integrar a conversão em plataformas n8n ou similares de automação com baixo código.

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().
  • Unicode encoding: A camada de saída PDF grava texto Unicode multiescrita, incluindo CJK e cirílico.

Casos de uso com renderização de baixo nível

  • Geração de PDF personalizada: Criar páginas com caminhos vetoriais, texto e imagens sem um arquivo PS/XPS intermediário.
  • ** Teste de pixel perfeito:** Utilize RasterRenderer para representar documentos e comparar as saídas de pixels em testes automatizados.
  • Integrar fontes: Incorporar as fontes TrueType usando FontResolver e build_embedded_font() para a correção da reprodução.
  • Gerenciamento de cores: Aplicar Paint objetos com espaços coloridos baseados em DeviceRGB ou CIE a caminhos e texto.

Converter PS para PDF

Chame PsDocument.from_file() para acessar o arquivo PostScript e chameto_pdf() a 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 chameto_pdf() a 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

Que licença 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.

Há dependências nativas?

Não, a biblioteca não depende de Ghostscript, Adobe Reader ou qualquer tempo de execução nativo. Ele funciona em Windows, Linux e macOS.

Que formatos de entrada é suportado pela biblioteca?

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

Que formatos de saída produz a biblioteca?

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

Posso processar arquivos na memória sem entrada/saída de disco?

Sim. Use from_bytes() para carregar a partir de bytes brutos e os byte devolvidos a desde to_pdf() ou to_image() diretamente sem escrever arquivos.

  

Recursos de Suporte e Aprendizado

 Português