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_epspro rozvětvení logiky při zpracování smíšené dávky souborů PS a EPS. - Nastavte
dpi=150nebo 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ém | Příčina | Oprava |
|---|---|---|
FileNotFoundError | Cesta předaná from_file() neexistuje | Ověřte cestu k souboru před voláním from_file() |
| Prázdný výstup PDF | Soubor PS neobsahuje žádný vykreslitelný obsah | Prozkoumejte zdroj PS pro chybějící operátory showpage |
| Rastr s nízkým rozlišením | Výchozí DPI je 96 | Zadejte 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 / Metoda | Popis: |
|---|---|
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_eps | True, pokud je načtený soubor EPS |
PsDocument.dsc | Metadata záhlaví DSC (soubory EPS) |
DscMetadata.bounding_box | Ohraničující box EPS jako (x0, y0, x1, y1) |
DscMetadata.title | Název z EPS DSC hlavičky |
ImageSaveOptions.format | Výstupní formát: “png” nebo “jpeg” |
ImageSaveOptions.dpi | Výstupní rozlišení v DPI |