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

Aspose.Page FOSS pour Python

Bibliothèque Python gratuite, sous licence MIT, permettant d’exporter des documents PS, EPS et XPS en PDF et images raster. Aucun Office requis.

Bibliothèque Python Open-Source pour la conversion PS, EPS et XPS

Aspose.Page FOSS pour Python est une bibliothèque gratuite et open-source pour la conversion de PostScript (PS), Encapsulated PostScript (EPS) et documents XPS dans les applications Python. Installez‑le avec un commande pip install aspose-page-foss unique et commencez à exporter des documents au format PDF et images raster sans aucune dépendance d’exécution propriétaire ou système.

La bibliothèque expose une API propre construite autour de PsDocument et XpsDocument. Chargez un document avec from_file() ou from_bytes(), puis appelez to_pdf() pour obtenir un flux d’octets PDF, ou to_image() avec une instance ImageSaveOptions pour rendre en PNG ou JPEG à une résolution DPI spécifiée. Un serveur MCP optionnel expose ps_to_pdf, ps_to_image, xps_to_pdf et xps_to_image en tant qu’outils de conversion à distance utilisant FastMCP.

Parce que la bibliothèque n’a aucune dépendance aux bibliothèques Office natives ou à Ghostscript, elle s’exécute. identiquement sur Windows, Linux et macOS, y compris les runners CI et les conteneurs Docker. Le Le code source est sous licence MIT et hébergé sur GitHub. Les développeurs qui ont besoin de l’API commerciale complète. Vous pouvez utiliser Aspose.Page pour Python aux côtés de ces ressources open-source. Pour la gamme de produits d’entreprise, voir Aspose.Page — Enterprise Product Family.

Convertir des documents PS et EPS

  • PS to PDF : Appelez PsDocument.from_file() puis to_pdf() pour exporter le document sous forme de tableau d’octets PDF.
  • EPS en PDF: PsDocument.from_file() accepte les deux extensions de fichier .ps et .eps.
  • PS/EPS en image : Passez un ImageSaveOptions(format="png", dpi=150) à to_image() pour une sortie PNG ou JPEG.
  • Traitement en mémoire: Toutes les conversions renvoient bytes — aucun fichier temporaire requis.
  • À partir des octets : Utilisez PsDocument.from_bytes() pour traiter les données PS/EPS provenant d’un flux réseau ou d’un téléchargement.

Où la conversion PS/EPS est utilisée

  • Document pipelines: Exporter les rapports PostScript hérités vers PDF pour l’archivage ou la distribution.
  • Flux d’impression: Transformez la sortie PS des pilotes d’impression en aperçus PDF ou image.
  • Traitement des ressources EPS: Rasteriser les illustrations EPS en PNG pour une utilisation sur le web ou dans la documentation.
  • Automatisation par lots : Traitez les répertoires de fichiers PS/EPS dans des jobs CI ou cron sans interface graphique.

Convertir des documents XPS

  • XPS vers PDF: Appelez XpsDocument.from_file() puis to_pdf() pour exporter le fichier XPS en tant que tableau d’octets PDF.
  • XPS vers image: Appelez to_image() avec ImageSaveOptions pour rendre les pages XPS en PNG ou JPEG.
  • À partir des octets: Utilisez XpsDocument.from_bytes() pour les données XPS en mémoire provenant des téléchargements ou des flux.
  • Accès aux pages : Utilisez add_page(), get_page() et remove_page() pour travailler avec des pages individuelles.
  • Lecture du package XPS: Utilisez XpsPackage.from_file() pour inspecter les parties brutes du package XPS.

Où la conversion XPS est utilisée

  • Spouleur d’impression Windows : Exportation des fichiers de spouleur XPS du sous-système d’impression Windows vers PDF ou image.
  • Archivage de documents: Transformez les fichiers XPS en PDF lisibles universellement pour un stockage à long terme.
  • Génération d’aperçu: Rendre les pages XPS en vignettes PNG pour les systèmes de gestion de documents.
  • Utilisation multiplateforme : Traitez les fichiers XPS sur des serveurs Linux et macOS où les visionneurs natifs ne sont pas disponibles.

Serveur MCP pour la conversion à distance

  • Exposition des outils : create_server() enregistre ps_to_pdf, ps_to_image, xps_to_pdf et xps_to_image comme outils MCP via FastMCP.
  • EPS metadata: L’outil eps_metadata extrait la boîte englobante et les champs d’en-tête DSC des fichiers EPS.
  • Input/output types: McpInput accepte un chemin de fichier ou des octets encodés en base64 ; McpOutput renvoie des octets base64 ou écrit vers un chemin.
  • Options de conversion : McpConversionOptions contrôle le format de sortie et le DPI pour les conversions d’images.
  • Dépendance optionnelle : FastMCP n’est requis que pour l’hébergement du serveur MCP ; la conversion de base fonctionne sans elle.

Cas d’utilisation MCP

  • AI agent pipelines: Exposez la conversion de documents comme un outil appelable par Claude ou d’autres agents compatibles MCP.
  • Microservices: Exécutez un service de conversion léger acceptant PS/EPS/XPS via HTTP.
  • Plug-ins IDE: Fonctionnalité de conversion de surface pour les éditeurs qui prennent en charge les serveurs d’outils MCP.
  • Automation des flux de travail: Intégrez la conversion dans n8n ou des plateformes d’automatisation low-code similaires.

Modèle de rendu et sortie PDF

  • RenderModelBuilder: Construisez un RenderDocument avec begin_page(), add_path(), add_text(), add_image() et end_page().
  • PdfWriter: Passez une instance PdfMetadata et appelez write(doc) pour produire un tableau d’octets PDF à partir de n’importe quel RenderDocument.
  • PdfMetadata: Définir les champs title, creator, producer, creation_date et trapped du PDF de sortie.
  • RasterRenderer: Rendre un RenderDocument en un RasterSurface ; encoder avec encode_png() ou encode_bmp().
  • Unicode encoding: La couche de sortie PDF écrit du texte Unicode multilingue incluant le CJK et le cyrillique.

Cas d’utilisation de rendu bas niveau

  • Génération PDF personnalisée: Créez des pages avec des chemins vectoriels, du texte et des images sans fichier intermédiaire PS/XPS.
  • Test pixel-perfect : Utilisez RasterRenderer pour rendre les documents et comparer les sorties pixel dans les tests automatisés.
  • Incorporation de polices : Intégrez les polices TrueType en utilisant FontResolver et build_embedded_font() pour un rendu correct.
  • Gestion des couleurs : Appliquer les objets Paint avec les espaces colorimétriques DeviceRGB ou basés sur CIE aux chemins et au texte.

Convertir PS en PDF

Appelez PsDocument.from_file() pour accéder au fichier PostScript et appelez to_pdf() pour l’exporter en flux d’octets 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 en PNG

La même classe PsDocument gère les fichiers EPS. Passez un ImageSaveOptions avec le format et le DPI souhaités à 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 en PDF

Appelez XpsDocument.from_file() pour accéder au document XPS et appelez to_pdf() pour l’exporter en flux d’octets 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)

Foire aux questions

Quelle licence utilise Aspose.Page FOSS pour Python ?

Aspose.Page FOSS pour Python est publié sous la licence MIT, autorisant son utilisation dans des applications commerciales et propriétaires.

Existe-t-il des dépendances natives ?

Non. La bibliothèque n’a aucune dépendance à Ghostscript, Adobe Reader ou à un runtime natif. Elle fonctionne sous Windows, Linux et macOS.

Quels formats d’entrée la bibliothèque prend-elle en charge ?

La bibliothèque lit les fichiers PostScript (.ps), Encapsulated PostScript (.eps) et XPS (.xps).

Quels formats de sortie la bibliothèque produit‑elle ?

La bibliothèque exporte vers PDF via to_pdf() et vers des images raster PNG ou JPEG via to_image() avec ImageSaveOptions.

Puis‑je traiter les fichiers en mémoire sans I/O disque ?

Oui. Utilisez from_bytes() pour charger à partir d’octets bruts et les octets retournés par to_pdf() ou to_image() directement, sans écrire de fichiers.

  

Ressources de support et d'apprentissage

 Français