Introduzione

Aspose.Page FOSS per Python è una libreria gratuita e open-source per la conversione di PostScript (PS), Encapsulated PostScript (EPS), e documenti XPS in PDF e immagini raster nelle applicazioni Python. È distribuita sotto licenza MIT e disponibile su PyPI come aspose-page-foss.

La libreria fornisce due classi documento di livello superiore: PsDocument per file PS ed EPS, e XpsDocument per file XPS. Entrambe le classi espongono i metodi to_pdf() e to_image() che restituiscono array di byte, rendendo semplice l’integrazione nei pipeline di elaborazione dei file senza scrivere file temporanei.

Poiché la libreria non dipende da Ghostscript, Adobe Reader o da alcun runtime nativo di Office, funziona su Windows, Linux e macOS, inclusi i runner CI e i container Docker. Gli sviluppatori che necessitano del API commerciale completo con funzionalità di rendering avanzate possono continuare a utilizzare il prodotto enterprise Aspose.Page per Python accanto a queste utility open source.


Cosa è incluso

Conversione da PS ed EPS a PDF

PsDocument gestisce sia i file PostScript (.ps) sia i file Encapsulated PostScript (.eps) tramite la stessa interfaccia di classe. Chiama PsDocument.from_file() per caricare un documento, quindi chiama to_pdf() per ottenere il risultato come array di byte PDF.

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)

Il metodo di classe from_bytes() accetta byte grezzi, così i documenti provenienti da flussi di rete o caricamenti di file possono essere elaborati senza scrivere prima su disco.

PS ed EPS in immagine raster

Per rendere un documento PS o EPS in un’immagine PNG o JPEG, passa un’istanza di ImageSaveOptions a to_image(). Imposta la proprietà format su "png" o "jpeg" e la proprietà dpi per controllare la risoluzione di output.

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 e immagine

XpsDocument carica i file XPS ed espone la stessa interfaccia to_pdf() e to_image() di PsDocument. Chiama XpsDocument.from_file() per caricare un documento XPS, quindi converti nel formato di output desiderato.

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))

Elaborazione in memoria

Tutti i metodi di conversione restituiscono oggetti bytes. I file temporanei non sono mai necessari a meno che l’applicazione non li scriva esplicitamente. I costruttori from_bytes() sia su PsDocument sia su XpsDocument accettano byte grezzi come input, così l’intera pipeline può rimanere in 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()

Integrazione del server MCP

La libreria include un server MCP opzionale che espone le funzioni di conversione come strumenti remoti usando FastMCP. Il server registra ps_to_pdf, ps_to_image, xps_to_pdf e xps_to_image come strumenti invocabili. McpInput accetta un percorso file o byte codificati in base64; McpOutput restituisce byte in base64 o scrive su un percorso.

FastMCP è una dipendenza opzionale — la funzionalità di conversione di base funziona senza di essa. Il server MCP è utile per rendere la libreria invocabile da pipeline di agenti AI, microservizi e editori che supportano server di strumenti MCP.


Avvio rapido

Installa la libreria con pip:

git clone https://github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python.git
cd Aspose.Page-FOSS-for-Python
pip install -e .

Il seguente esempio copre il caso d’uso più comune — convertire un file PS in PDF e salvarlo su 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())

Formati supportati

Aspose.Page FOSS per Python legge PostScript (.ps), Encapsulated PostScript (.eps) e file XML Paper Specification (.xps). I formati di output sono PDF (.pdf) e immagini raster (.png, .jpeg). Tutte le conversioni sono solo di esportazione — la libreria non scrive PS, EPS o XPS.


Open Source & Licenze

Aspose.Page FOSS per Python è rilasciato sotto licenza MIT. Il codice sorgente è ospitato su GitHub a github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. L’uso commerciale è consentito senza restrizioni ai sensi dei termini MIT.


Iniziare

Risorse correlate