Introduction
Aspose.Page FOSS for Python is a free, open-source library for converting PostScript (PS), PostScript (EPS) et documents XPS en PDF et images de raster dans Python Il est distribué sous la licence MIT et disponible sur PyPI comme aspose-page-foss.
La bibliothèque propose deux classes de document de premier niveau : PsDocument pour les fichiers PS et EPS, et XpsDocument pour les fichiers XPS. Les deux classes exposent to_pdf() et to_image() méthodes qui retourne les arées byte, ce qui rend facile à intégrer dans le traitement des fichiers Les filets sans écrire des fichiers temporaires.
Parce que la bibliothèque n’a pas de dépendance sur Ghostscript, Adobe Reader ou tout temps d’exécution Office indigène, elle fonctionne sur Windows, Linux et macOS y compris les runners CI et les conteneurs Docker. Les développeurs qui ont besoin de l’API commercial complet avec des fonctionnalités de rendement avancées peuvent continuer à utiliser le produit Enterprise Aspose.Page pour Python ainsi que ces utilités open source.
Ce qui est inclus
PS et EPS à la conversion PDF
PsDocument Les deux écrans (.pset les textes de la post-script (.eps• Fichiers par le même interface de classe. appeler PsDocument.from_file() pour envoyer un document, puis Appel à to_pdf() Pour obtenir le résultat en tant que fichier 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)
Le from_bytes() La méthode de classe accepte les bytes crus, donc les documents arrivant du réseau Les flux ou les téléchargements de fichiers peuvent être traités sans écrire au disque d’abord.
PS et EPS pour Raster Image
Pour rendre un document PS ou EPS à une image PNG ou JPEG, passez un ImageSaveOptions instance à to_image().- Settez le format Propriété à "png" ou "jpeg" et le dpi Propriété - Contrôler la résolution de production.
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 à PDF et image
XpsDocument télécharge les fichiers XPS et expose le même to_pdf() et to_image() Interface comme PsDocument.- appeler XpsDocument.from_file() pour charger un document XPS, puis convertir à le format de sortie souhaité.
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))
Traitement in-mémory
Toutes les méthodes de conversion retour bytes Les fichiers temporaires ne sont jamais requis sauf si le L’application les écrit explicitement. le from_bytes() Les constructeurs sur les deux PsDocument et XpsDocument Accepter les bytes crus comme entrée, de sorte que l’ensemble du pipeline peut rester en mémoire.
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()
MCP Server intégration
La bibliothèque comprend un serveur MCP facultatif qui expose les fonctions de conversion à distance. Tools utilisant FastMCP. les registres serveurs ps_to_pdf, ps_to_image, xps_to_pdf,et xps_to_image comme des outils appelés. McpInput accepte un fil ou des bytes codés à base64; McpOutput Retourne bas64 bytes ou écrit à un chemin.
FastMCP est une dépendance facultative - la fonctionnalité de conversion cible fonctionne sans elle. Le serveur MCP sera utile pour rendre la bibliothèque appelable des pipelines d’agent AI, des microservices et des éditeurs qui soutiennent les serveurs outils M CP.
Démarrage rapide
Installation de la bibliothèque avec pip :
pip install aspose-page-foss>=0.1.0
L’exemple suivant couvre le cas d’utilisation le plus courant - convertir un fichier PS en PDF et l’enregistrer sur disque:
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())
Formats soutenus
Aspose.Page FOSS for Python reads PostScript (.ps(Pour les articles de la suite).eps) et Les données de la carte XML (.xpsLes formats de sortie sont PDF (.pdfet les images raster (.png, .jpegToutes les conversions sont exportées uniquement - la bibliothèque ne écrit pas PS, EPS ou XPS.
Source ouverte et licence
Aspose.Page FOSS for Python is released under the MIT license. The source code is hosted sur GitHub à github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. L’utilisation commerciale est autorisée sans restriction dans les termes du MIT.