PS- und EPS-Konvertierung

PS- und EPS-Konvertierung

PS- und EPS-Konvertierung

PsDocument ist der Einstiegspunkt zum Laden von PostScript (.ps) und eingekapselten PostScript (.eps) Dateien. Beide Formate werden von derselben Klasse über dieselbe Schnittstelle verarbeitet.


Laden einer PS- oder EPS-Datei

Verwenden Sie PsDocument.from_file(), um ein Dokument über einen Dateipfad zu laden. Die Eigenschaft is_eps gibt an, ob die geladene Datei eine EPS-Datei ist.

from aspose.page.ps.document import PsDocument

ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")
print("Is EPS:", eps.is_eps)

Um aus rohen Bytes zu laden (z.B. ein Upload oder Netzwerk-Stream), verwenden Sie from_bytes():

from aspose.page.ps.document import PsDocument

with open("document.ps", "rb") as f:
    data = f.read()
doc = PsDocument.from_bytes(data)

Exportieren nach PDF

Rufen Sie to_pdf() auf einem geladenen PsDocument auf, um ein PDF-Byte-Array zu erhalten. Schreiben Sie das Ergebnis auf die Festplatte oder geben Sie es direkt von einem HTTP-Handler zurück.

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)

Exportieren als PNG oder JPEG

Übergeben Sie eine ImageSaveOptions-Instanz an to_image(). Setzen Sie format auf "png" oder "jpeg" und dpi auf die gewünschte Auflösung.

from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("output.png").write_bytes(eps.to_image(opts))

Lesen von EPS DSC-Metadaten

PsDocument.dsc gibt eine DscMetadata-Instanz zurück, wenn DSC-Headerkommentare in der EPS-Datei vorhanden sind. Verwenden Sie sie, um Bounding box, title und creator Felder vor der Konvertierung zu lesen.

from aspose.page.ps.document import PsDocument

eps = PsDocument.from_file("illustration.eps")
dsc = eps.dsc
if dsc is not None:
    print("Title:", dsc.title)
    print("Bounding box:", dsc.bounding_box)
    print("Creator:", dsc.creator)

Tipps und bewährte Verfahren

  • Verwenden Sie from_bytes() beim Verarbeiten von Uploads, um das Schreiben temporärer Dateien zu vermeiden.
  • Prüfen Sie is_eps, um die Logik zu verzweigen, wenn Sie einen gemischten Stapel von PS- und EPS-Dateien verarbeiten.
  • Setzen Sie dpi=150 oder höher für Rasterausgaben, die in Dokumentvorschau-Systemen verwendet werden.
  • Alle Konvertierungsmethoden geben bytes zurück — speichern oder streamen Sie sie bei Bedarf ohne Festplatten-E/A.

Häufige Probleme

ProblemUrsacheLösung
FileNotFoundErrorDer an from_file() übergebene Pfad existiert nichtÜberprüfen Sie den Dateipfad, bevor Sie from_file() aufrufen
Leere PDF-AusgabePS-Datei enthält keinen renderbaren InhaltUntersuchen Sie den PS-Quellcode auf fehlende showpage-Operatoren
Niedrigauflösendes RasterStandard-DPI ist 96Pass ImageSaveOptions(dpi=150) oder höher

FAQ

Kann ich EPS-Dateien in PDF konvertieren?

Ja. PsDocument.from_file() akzeptiert sowohl .ps als auch .eps Erweiterungen. Rufen Sie to_pdf() auf dem zurückgegebenen Dokument auf, um PDF-Bytes zu erhalten.

Benötigt die Konvertierung Ghostscript?

Nein. Die Bibliothek hat keine Abhängigkeit von Ghostscript oder irgendeiner nativen Laufzeit.

Kann ich PS-Dateien verarbeiten, ohne sie auf die Festplatte zu schreiben?

Ja. Verwenden Sie from_bytes(), um aus einem bytes-Objekt zu laden, und nutzen Sie das zurückgegebene bytes von to_pdf() oder to_image() direkt — es müssen keine Dateien geschrieben werden.


API Reference Zusammenfassung

Klasse / MethodeBeschreibung
PsDocument.from_file(path)Laden Sie PS oder EPS aus einem Dateipfad
PsDocument.from_bytes(data)Lade PS oder EPS aus Rohbytes
PsDocument.to_pdf(options)Exportiere zu PDF-Bytes
PsDocument.to_image(options)Exportiere zu Rasterbild-Bytes
PsDocument.is_epsTrue, wenn die geladene Datei EPS ist
PsDocument.dscDSC-Header-Metadaten (EPS-Dateien)
DscMetadata.bounding_boxEPS-Bounding-Box als (x0, y0, x1, y1)
DscMetadata.titleTitel aus dem EPS DSC-Header
ImageSaveOptions.formatAusgabeformat: “png” oder “jpeg”
ImageSaveOptions.dpiAusgabeauflösung in DPI

Siehe auch

 Deutsch