Introductie
Aspose.Page FOSS voor Python is een gratis, open-source bibliotheek voor het converteren van PostScript (PS), Encapsulated PostScript (EPS), en XPS-documenten naar PDF en rasterafbeeldingen in Python-toepassingen. Het wordt gedistribueerd onder de MIT-licentie en is beschikbaar op PyPI als aspose-page-foss.
De bibliotheek biedt twee top-level documentklassen: PsDocument voor PS- en EPS-bestanden, en XpsDocument voor XPS-bestanden. Beide klassen bieden to_pdf() en to_image() methoden die byte-arrays teruggeven, waardoor het eenvoudig is om te integreren in bestandsverwerkings-pijplijnen zonder tijdelijke bestanden te schrijven.
Omdat de bibliotheek geen afhankelijkheid heeft van Ghostscript, Adobe Reader, of enige native Office-runtime, draait hij op Windows, Linux en macOS, inclusief CI-runners en Docker-containers. Ontwikkelaars die de volledige commerciële API met geavanceerde renderingsfuncties nodig hebben, kunnen blijven gebruikmaken van het enterprise Aspose.Page voor Python product naast deze open-source hulpprogramma’s.
Wat er inbegrepen is
PS- en EPS-naar-PDF-conversie
PsDocument verwerkt zowel PostScript (.ps) als Encapsulated PostScript (.eps) bestanden via dezelfde klasse-interface. Roep PsDocument.from_file() aan om een document te laden, en roep vervolgens to_pdf() aan om het resultaat te verkrijgen als een PDF-byte-array.
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)
De from_bytes() klassamethode accepteert ruwe bytes, zodat documenten die via netwerk-streams of bestands-uploads binnenkomen, verwerkt kunnen worden zonder ze eerst naar schijf te schrijven.
PS en EPS naar rasterafbeelding
Om een PS- of EPS-document te renderen naar een PNG- of JPEG-afbeelding, geef een ImageSaveOptions instantie door aan to_image(). Stel de format eigenschap in op "png" of "jpeg" en de dpi eigenschap om de uitvoerresolutie te regelen.
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 naar PDF en afbeelding
XpsDocument laadt XPS-bestanden en biedt dezelfde to_pdf() en to_image() interface als PsDocument. Roep XpsDocument.from_file() aan om een XPS-document te laden, en converteer vervolgens naar het gewenste uitvoerformaat.
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 verwerking
Alle conversiemethoden retourneren bytes objecten. Tijdelijke bestanden zijn nooit nodig, tenzij de applicatie ze expliciet schrijft. De from_bytes() constructors op zowel PsDocument als XpsDocument accepteren ruwe bytes als invoer, zodat de volledige pijplijn in het geheugen kan blijven.
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-serverintegratie
De bibliotheek bevat een optionele MCP-server die conversiefuncties als remote tools beschikbaar stelt via FastMCP. De server registreert ps_to_pdf, ps_to_image, xps_to_pdf en xps_to_image als aanroepbare tools. McpInput accepteert een bestandspad of base64-gecodeerde bytes; McpOutput retourneert base64-bytes of schrijft naar een pad.
FastMCP is een optionele afhankelijkheid — de kernconversiefunctie werkt zonder. De MCP-server is nuttig om de bibliotheek aanroepbaar te maken vanuit AI-agent-pijplijnen, microservices en editors die MCP-tool-servers ondersteunen.
Snelle start
Installeer de bibliotheek met pip:
git clone https://github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python.git
cd Aspose.Page-FOSS-for-Python
pip install -e .Het volgende voorbeeld behandelt het meest voorkomende gebruiksscenario — een PS-bestand naar PDF converteren en opslaan op schijf:
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())
Ondersteunde formaten
Aspose.Page FOSS voor Python leest PostScript (.ps), Encapsulated PostScript (.eps), en XML Paper Specification (.xps) bestanden. Uitvoerformaten zijn PDF (.pdf) en rasterafbeeldingen (.png, .jpeg). Alle conversies zijn alleen export — de bibliotheek schrijft geen PS, EPS, of XPS.
Open Source & Licenties
Aspose.Page FOSS voor Python wordt uitgebracht onder de MIT-licentie. De broncode wordt gehost op GitHub op github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. Commercieel gebruik is toegestaan zonder beperkingen onder de MIT-voorwaarden.