Einleitung

Aspose.Page FOSS für Python ist eine kostenlose, Open-Source-Bibliothek zum Konvertieren von PostScript (PS), Encapsulated PostScript (EPS) und XPS-Dokumenten in PDF und Rasterbilder in Python-Anwendungen. Sie wird unter der MIT-Lizenz vertrieben und ist auf PyPI als aspose-page-foss verfügbar.

Die Bibliothek stellt zwei Dokumentklassen auf oberster Ebene bereit: PsDocument für PS- und EPS-Dateien und XpsDocument für XPS-Dateien. Beide Klassen stellen to_pdf()- und to_image()-Methoden bereit, die Byte-Arrays zurückgeben, wodurch eine einfache Integration in Dateiverarbeitungspipelines ohne das Schreiben temporärer Dateien ermöglicht wird.

Da die Bibliothek keine Abhängigkeit von Ghostscript, Adobe Reader oder einer nativen Office-Laufzeit hat, läuft sie unter Windows, Linux und macOS, einschließlich CI-Runnern und Docker-Containern. Entwickler, die das vollständige kommerzielle API mit erweiterten Rendering-Funktionen benötigen, können weiterhin das Enterprise-Aspose.Page für Python-Produkt neben diesen Open-Source-Hilfsmitteln verwenden.


Was enthalten ist

PS- und EPS-zu-PDF-Konvertierung

PsDocument verarbeitet sowohl PostScript (.ps) als auch Encapsulated PostScript (.eps) Dateien über dieselbe Klassenoberfläche. Rufen Sie PsDocument.from_file() auf, um ein Dokument zu laden, und rufen Sie anschließend to_pdf() auf, um das Ergebnis als PDF-Byte-Array zu erhalten.

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)

Die from_bytes() Klassenmethode akzeptiert Rohbytes, sodass Dokumente, die aus Netzwerkstreams oder Datei-Uploads ankommen, verarbeitet werden können, ohne sie zuerst auf die Festplatte zu schreiben.

PS und EPS zu Rasterbild

Um ein PS- oder EPS-Dokument in ein PNG- oder JPEG-Bild zu rendern, übergeben Sie eine ImageSaveOptions-Instanz an to_image(). Setzen Sie die format-Eigenschaft auf "png" oder "jpeg" und die dpi-Eigenschaft, um die Ausgabeauflösung zu steuern.

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 zu PDF und Bild

XpsDocument lädt XPS-Dateien und stellt dieselbe to_pdf()- und to_image()-Schnittstelle wie PsDocument bereit. Rufen Sie XpsDocument.from_file() auf, um ein XPS-Dokument zu laden, und konvertieren Sie es dann in das gewünschte Ausgabeformat.

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

In-Memory-Verarbeitung

Alle Konvertierungsmethoden geben bytes-Objekte zurück. Temporäre Dateien sind nie erforderlich, es sei denn, die Anwendung schreibt sie explizit. Die from_bytes()-Konstruktoren sowohl von PsDocument als auch von XpsDocument akzeptieren Rohbytes als Eingabe, sodass die gesamte Pipeline im Speicher bleiben kann.

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

Die Bibliothek enthält einen optionalen MCP-Server, der Konvertierungsfunktionen als Remote-Tools mittels FastMCP bereitstellt. Der Server registriert ps_to_pdf, ps_to_image, xps_to_pdf und xps_to_image als aufrufbare Werkzeuge. McpInput akzeptiert einen Dateipfad oder base64-kodierte Bytes; McpOutput gibt base64-Bytes zurück oder schreibt in einen Pfad.

FastMCP ist eine optionale Abhängigkeit — die Kernkonvertierungsfunktionalität funktioniert ohne sie. Der MCP-Server ist nützlich, um die Bibliothek aus KI-Agent-Pipelines, Microservices und Editoren, die MCP-Tool-Server unterstützen, aufrufbar zu machen.


Schnellstart

Installieren Sie die Bibliothek mit pip:

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

Das folgende Beispiel deckt den häufigsten Anwendungsfall ab — das Konvertieren einer PS-Datei in PDF und das Speichern auf der Festplatte:

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

Unterstützte Formate

Aspose.Page FOSS für Python liest PostScript (.ps), Encapsulated PostScript (.eps) und XML Paper Specification (.xps) Dateien. Ausgabformate sind PDF (.pdf) und Rasterbilder (.png, .jpeg). Alle Konvertierungen sind nur zum Export — die Bibliothek schreibt keine PS-, EPS- oder XPS-Dateien.


Open Source & Lizenzierung

Aspose.Page FOSS für Python wird unter der MIT-Lizenz veröffentlicht. Der Quellcode ist gehostet auf GitHub unter github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. Kommerzielle Nutzung ist ohne Einschränkung gemäß den MIT-Bedingungen gestattet.


Erste Schritte

Verwandte Ressourcen