Převod PS a EPS

Konverze PS a EPS

PsDocument je vstupní bod pro načítání souborů PostScript (.ps) a zapouzdřených PostScript (.eps). Oba formáty jsou zpracovávány stejnou třídou přes stejné rozhraní.


Načítání souboru PS nebo EPS

Použijte PsDocument.from_file() k načtení dokumentu z cesty k souboru. Vlastnost is_eps určuje, zda je načtený soubor souborem EPS.

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)

Pro načtení z raw bajtů (např. nahrání nebo síťový stream) použijte from_bytes():

from aspose.page.ps.document import PsDocument

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

Export do PDF

Zavolejte to_pdf() na načteném PsDocument, abyste získali pole bajtů PDF. Výsledek zapište na disk nebo jej vraťte přímo z HTTP handleru.

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)

Exportování do PNG nebo JPEG

Předávejte instanci ImageSaveOptions do to_image(). Nastavte format na "png" nebo "jpeg" a dpi na požadované rozlišení.

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

Čtení EPS DSC metadat

PsDocument.dsc vrací instanci DscMetadata, když jsou v EPS souboru přítomny komentáře hlavičky DSC. Použijte ji k načtení polí o ohraničujícím rámečku, názvu a tvůrci před konverzí.

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)

Tipy a osvědčené postupy

  • Používejte from_bytes() při zpracování nahrávek, abyste se vyhnuli zápisu dočasných souborů.
  • Zkontrolujte is_eps pro rozvětvení logiky při zpracování smíšené dávky souborů PS a EPS.
  • Nastavte dpi=150 nebo vyšší pro rastrový výstup používaný v systémech náhledu dokumentů.
  • Všechny metody konverze vracejí bytes — uložte je nebo streamujte bez diskového I/O, pokud je to potřeba.

Běžné problémy

ProblémPříčinaOprava
FileNotFoundErrorCesta předaná from_file() neexistujeOvěřte cestu k souboru před voláním from_file()
Prázdný výstup PDFSoubor PS neobsahuje žádný vykreslitelný obsahProzkoumejte zdroj PS pro chybějící operátory showpage
Rastr s nízkým rozlišenímVýchozí DPI je 96Zadejte ImageSaveOptions(dpi=150) nebo vyšší

FAQ

Mohu převést soubory EPS na PDF?

Ano. PsDocument.from_file() přijímá jak přípony .ps, tak .eps. Zavolejte to_pdf() na vráceném dokumentu a získáte PDF bajty.

Vyžaduje konverze Ghostscript?

Ne. Knihovna nemá žádnou závislost na Ghostscriptu ani na žádném nativním runtime.

Mohu zpracovávat soubory PS bez zápisu na disk?

Ano. Použijte from_bytes() k načtení z objektu bytes a použijte vrácený bytes z to_pdf() nebo to_image() přímo — není nutné zapisovat soubory.


API Reference Shrnutí

Třída / MetodaPopis:
PsDocument.from_file(path)Načtěte PS nebo EPS ze souborové cesty
PsDocument.from_bytes(data)Načíst PS nebo EPS ze surových bajtů
PsDocument.to_pdf(options)Exportovat do PDF bajtů
PsDocument.to_image(options)Exportovat do bajtů rastrového obrazu
PsDocument.is_epsTrue, pokud je načtený soubor EPS
PsDocument.dscMetadata záhlaví DSC (soubory EPS)
DscMetadata.bounding_boxOhraničující box EPS jako (x0, y0, x1, y1)
DscMetadata.titleNázev z EPS DSC hlavičky
ImageSaveOptions.formatVýstupní formát: “png” nebo “jpeg”
ImageSaveOptions.dpiVýstupní rozlišení v DPI

Viz také:

 Čeština