Introducere
PostScript (PS) și Encapsulated Post Script (EPS), sunt formate vectoriale de documente utilizate în fluxuri de lucru pentru imprimare, sisteme vechi de publicare și pipeline-uri grafice. Aspose.Page FOSS for Python oferă: PsDocument o singură clasă care tratează ambele .ps și de: .eps fișiere cu metode pentru a le exporta în imagini PDF sau raster direct din codul Python.
Biblioteca nu necesită instalarea Ghostscript, nici un runtime Adobe și nici o dependență de sistem nativ. Acesta rulează pe Windows, Linux și macOS. Instalați-l cu pip și folosiți imediat în orice mediu Python 3.10+.
Încărcarea fișierelor PS și EPS
PsDocument expune două metode de clasă pentru încărcarea unui document. from_file() citeste de la un ruta fișierului; from_bytes() acceptă baiti cruzi dintr-un flux sau un upload.
from aspose.page.ps.document import PsDocument
# Load from file path
ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")
# Load from bytes (network stream, upload, etc.)
with open("document.ps", "rb") as f:
data = f.read()
ps_from_bytes = PsDocument.from_bytes(data)
În ceea ce priveşte is_eps declarații de proprietate True dacă documentul este un fișier EPS, care este util atunci când: prelucrarea unui lot mixt de fișiere PS și EPS prin aceeași cale de cod.
Export în PDF
Sună-mă. to_pdf() pe o încărcată PsDocument pentru a obține ieșirea ca o bytes Obiectul. rezultatul este un flux de bați PDF valabil care poate fi scris pe disc, stocat într-o bază de date sau returnate de la un punct final HTTP.
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)
Nu este necesar obiectul opțiuni pentru exportarea PDF-ului. to_pdf() metoda acceptă o parametru opțional pentru cazurile de utilizare avansată.
Exportarea imaginii raster
Pentru a face un document PS sau EPS într-o imagine raster, treceți o ImageSaveOptions În cazul în care: to_image().- Setat . format la … în "png" sau de: "jpeg" și de: dpi pentru a controla rezoluția de ieșire. Metoda returnează o bytes Obiectul care conține imaginea codificată.
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)
png_bytes = eps.to_image(opts)
Path("output.png").write_bytes(png_bytes)
Pentru ieșirea JPEG, modificare format="jpeg".- Ce ? dpi proprietatea se încadrează la 96 atunci când nu este setată.
Citirea metadatelor EPS
PsDocument expune o dsc proprietate care returnează o DscMetadata În cazul în care DSC comentariile sunt prezentate în dosar. DscMetadata oferă acces structurat la caseta de limitare; Coordonatele, dimensiunea paginii, orientarea, titlul și câmpurile creator analizate din șirul EPS.
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("HiRes bounding box:", dsc.hires_bounding_box)
Conversie batch
Deoarece toate metodele de conversie returnează bytes și acceptă ca intrare căi de fișiere sau bați brute, procesarea batch este direct de implementat cu cicluri Python standard sau concurrent.futures.
from pathlib import Path
from aspose.page.ps.document import PsDocument
input_dir = Path("ps-files")
output_dir = Path("pdf-output")
output_dir.mkdir(exist_ok=True)
for ps_file in input_dir.glob("*.ps"):
doc = PsDocument.from_file(str(ps_file))
out_path = output_dir / ps_file.with_suffix(".pdf").name
out_path.write_bytes(doc.to_pdf())
print("Converted:", ps_file.name)
Acelaşi model se aplică fişierelor EPS prin schimbarea modelelor globului la: "*.eps".