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

Aspose.Page FOSS für Python

Kostenlose, MIT-lizenzierte Python-Bibliothek zum Exportieren von PS-, EPS- und XPS-Dokumenten als PDF und Rasterbilder. Kein Office erforderlich.

Open-Source Python-Bibliothek für PS-, EPS- und XPS-Konvertierung

Aspose.Page FOSS for Python ist eine kostenlose, Open-Source-Bibliothek zum Konvertieren von PostScript (PS), Encapsulated PostScript (EPS), und XPS-Dokumente in Python-Anwendungen. Installieren Sie es mit einem einzelner pip install aspose-page-foss Befehl und beginnen Sie mit dem Exportieren von Dokumenten zu PDF und Rasterbilder ohne jegliche proprietäre Laufzeit oder Systemabhängigkeit.

Die Bibliothek stellt eine saubere API bereit, die um PsDocument und XpsDocument herum aufgebaut ist. Laden Sie ein Dokument. mit from_file() oder from_bytes(), dann rufen Sie to_pdf() auf, um einen PDF-Byte-Stream zu erhalten, oder to_image() mit einer ImageSaveOptions Instanz, um zu PNG oder JPEG bei einer angegebenen DPI zu rendern. Ein optionaler MCP-Server stellt ps_to_pdf, ps_to_image, xps_to_pdf und xps_to_image bereit. als Remote‑Konvertierungstools mit FastMCP.

Da die Bibliothek keine Abhängigkeit von nativen Office‑Bibliotheken oder Ghostscript hat, läuft sie. identisch unter Windows, Linux und macOS, einschließlich CI runners und Docker-Containern. Der codebase ist MIT-lizenziert und auf GitHub gehostet. Entwickler, die die vollständige kommerzielle API benötigen kann Aspose.Page für Python zusammen mit diesen Open-Source-Ressourcen verwenden. Für die Enterprise-Produktfamilie siehe Aspose.Page — Enterprise Product Family.

PS- und EPS-Dokumente konvertieren

  • PS to PDF: Rufen Sie PsDocument.from_file() dann to_pdf() auf, um das Dokument als PDF-Byte-Array zu exportieren.
  • EPS to PDF: PsDocument.from_file() akzeptiert sowohl .ps als auch .eps Dateierweiterungen.
  • PS/EPS zu Bild: Übergeben Sie ein ImageSaveOptions(format="png", dpi=150) an to_image() für PNG- oder JPEG-Ausgabe.
  • In-Memory-Verarbeitung: Alle Konvertierungen geben bytes zurück — es werden keine temporären Dateien benötigt.
  • Aus Bytes: Verwenden Sie PsDocument.from_bytes(), um PS/EPS-Daten aus einem Netzwerkstream oder Upload zu verarbeiten.

Wo PS/EPS-Konvertierung verwendet wird

  • Dokumenten-Pipelines: Exportieren Sie Legacy-PostScript-Berichte in PDF zur Archivierung oder Verteilung.
  • Print-Workflows: PS-Ausgabe von Druckertreibern in PDF- oder Bildvorschauen umwandeln.
  • EPS-Asset-Verarbeitung: EPS-Illustrationen in PNG rasterisieren für die Nutzung im Web oder in Dokumentationen.
  • Batch-Automatisierung: Verarbeiten Sie Verzeichnisse von PS/EPS-Dateien in CI- oder Cron-Jobs ohne GUI.

XPS-Dokumente konvertieren

  • XPS zu PDF: Rufen Sie XpsDocument.from_file() dann to_pdf() auf, um die XPS-Datei als PDF-Byte-Array zu exportieren.
  • XPS zu Bild: Rufen Sie to_image() mit ImageSaveOptions auf, um XPS‑Seiten in PNG oder JPEG zu rendern.
  • Aus Bytes: Verwenden Sie XpsDocument.from_bytes() für im Speicher befindliche XPS-Daten aus Uploads oder Streams.
  • Seitenzugriff: Verwenden Sie add_page(), get_page() und remove_page(), um mit einzelnen Seiten zu arbeiten.
  • XPS-Paketlesung: Verwenden Sie XpsPackage.from_file(), um rohe XPS-Paketteile zu untersuchen.

Wo XPS-Konvertierung verwendet wird

  • Windows-Druckwarteschlange: Exportieren Sie XPS-Spooldateien aus dem Windows-Drucksubsystem in PDF oder Bild.
  • Dokumentenarchivierung: Transformieren Sie XPS-Dateien in universell lesbare PDF für die Langzeitarchivierung.
  • Vorschauerstellung: Rendern Sie XPS‑Seiten zu PNG‑Thumbnails für Dokumentenmanagementsysteme.
  • Plattformübergreifende Nutzung: XPS-Dateien auf Linux- und macOS-Servern verarbeiten, auf denen native Viewer nicht verfügbar sind.

MCP-Server für Remote-Konvertierung

  • Werkzeugexposition: create_server() registriert ps_to_pdf, ps_to_image, xps_to_pdf und xps_to_image als MCP-Tools über FastMCP.
  • EPS-Metadaten: Das eps_metadata-Werkzeug extrahiert Bounding Box- und DSC-Header-Felder aus EPS-Dateien.
  • Input/output types: McpInput akzeptiert einen Dateipfad oder base64-codierte Bytes; McpOutput gibt base64-Bytes zurück oder schreibt in einen Pfad.
  • Konvertierungsoptionen: McpConversionOptions steuert das Ausgabeformat und die DPI für Bildkonvertierungen.
  • Optionale Abhängigkeit: FastMCP wird nur für das Hosting des MCP-Servers benötigt; die Kernkonvertierung funktioniert ohne es.

MCP-Anwendungsfälle

  • AI agent pipelines: Dokumentenkonvertierung als ein von Claude oder anderen MCP‑kompatiblen Agenten aufrufbares Werkzeug bereitstellen.
  • Microservices: Führen Sie einen leichtgewichtigen Konvertierungsdienst aus, der PS/EPS/XPS über HTTP akzeptiert.
  • IDE-Plugins: Bereitstellung der Konvertierungsfunktionalität für Editoren, die MCP-Tool-Server unterstützen.
  • Workflow-Automatisierung: Integrieren Sie die Konvertierung in n8n oder ähnliche Low-Code-Automatisierungsplattformen.

Render-Modell und PDF-Ausgabe

  • RenderModelBuilder: Erstelle ein RenderDocument mit begin_page(), add_path(), add_text(), add_image() und end_page().
  • PdfWriter: Übergeben Sie eine PdfMetadata Instanz und rufen Sie write(doc) auf, um ein PDF‑Byte‑Array aus beliebigem RenderDocument zu erzeugen.
  • PdfMetadata: Setzen Sie title, creator, producer, creation_date und trapped Felder im Ausgabepdf.
  • RasterRenderer: Rendern Sie ein RenderDocument zu einem RasterSurface; kodieren Sie mit encode_png() oder encode_bmp().
  • Unicode encoding: Die PDF-Ausgabeschicht schreibt mehrsprachigen Unicode-Text, einschließlich CJK und Kyrillisch.

Low-Level-Rendering-Anwendungsfälle

  • Benutzerdefinierte PDF-Erstellung: Erstellen Sie Seiten mit Vektorpfaden, Text und Bildern, ohne eine Zwischendatei im PS/XPS-Format.
  • Pixel-perfect testing: Verwenden Sie RasterRenderer, um Dokumente zu rendern und Pixelausgaben in automatisierten Tests zu vergleichen.
  • Schriftart-Einbettung: Betten Sie TrueType-Schriften mit FontResolver und build_embedded_font() ein, um eine korrekte Darstellung zu gewährleisten.
  • Farbverwaltung: Wenden Sie Paint-Objekte mit DeviceRGB oder CIE-basierten Farbräumen auf Pfade und Text an.

PS nach PDF konvertieren

Rufen Sie PsDocument.from_file() auf, um auf die PostScript‑Datei zuzugreifen, und rufen Sie to_pdf() auf, um sie als PDF‑Byte‑Stream zu exportieren.

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)

EPS nach PNG konvertieren

Die gleiche PsDocument-Klasse verarbeitet EPS-Dateien. Übergeben Sie ein ImageSaveOptions mit dem gewünschten Format und DPI an 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)

XPS nach PDF konvertieren

Rufen Sie XpsDocument.from_file() auf, um auf das XPS‑Dokument zuzugreifen, und rufen Sie to_pdf() auf, um es als PDF‑Byte‑Stream zu exportieren.

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)

Häufig gestellte Fragen

Welche Lizenz verwendet Aspose.Page FOSS für Python?

Aspose.Page FOSS für Python wird unter der MIT License veröffentlicht, die die Nutzung in kommerziellen und proprietären Anwendungen erlaubt.

Gibt es native Abhängigkeiten?

Nein. Die Bibliothek hat keine Abhängigkeit von Ghostscript, Adobe Reader oder irgendeiner nativen Laufzeit. Sie läuft unter Windows, Linux und macOS.

Welche Eingabeformate unterstützt die Bibliothek?

Die Bibliothek liest PostScript (.ps), Encapsulated PostScript (.eps) und XPS (.xps) Dateien.

Welche Ausgabeformate erzeugt die Bibliothek?

Die Bibliothek exportiert zu PDF über to_pdf() und zu PNG- oder JPEG-Rasterbildern über to_image() mit ImageSaveOptions.

Kann ich Dateien im Speicher verarbeiten, ohne disk I/O?

Ja. Verwenden Sie from_bytes(), um aus rohen Bytes zu laden, und die zurückgegebenen Bytes von to_pdf() oder to_image() direkt, ohne Dateien zu schreiben.

  

Support und Lernressourcen

 Deutsch