Introduction
PostScript (PS) ve Encapsulated Postcript (EPS), Vektor belge biçimleri olarak kullanılır. baskı çalışma akışları, miras yayın sistemleri ve grafik borular. Aspose.Page FOSS for Python sağlar PsDocument - Her ikisini de işe alan tek bir sınıf .ps ve .eps Dosya - PDF’ye ihraç etme veya doğrudan Python kodundan resimlerin çarpması yöntemleri ile.
Kütüphane Ghostscript yükleme gerektirmez, hiçbir Adobe çalışma süresi ve hiçbir yerli sistem bağımlılığı. Windows, Linux ve macOS üzerinde çalışır. Pip ile yüklemek ve hemen herhangi bir Python 3.10+ ortamında kullanmak.
PS ve EPS dosyalarını yükleme
PsDocument Bir belgeyi yüklemek için iki sınıf yöntemini ortaya koymaktadır. from_file() A’dan okuyor Dosya Yolu ; from_bytes() Bir akış veya yükleme ile ham byte kabul eder.
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)
O zamanlar is_eps Mülkiyet Geri Dönüşü True eğer belge bir EPS dosyası ise, bu dosya yararlıdır. PS ve EPS dosyalarının karışık bir paketini aynı kod yolu üzerinden işleme alabilirsiniz.
PDF’ye ihraç etmek
Call to_pdf() Bir yükle PsDocument Üretimi bir a olarak elde etmek için bytes nesne - The sonuç, bir veritabanında kaydedilen disk yazılabilecek geçerli bir PDF byte akışı veya HTTP endpoint’ten geri döndü.
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)
Bir PDF ihracat için hiçbir seçenek nesne gerektirmez. to_pdf() Metoda kabul eder Gelişmiş kullanım durumları için seçmeli seçenekler parametresi.
Raster Resimleri için İhracat
PS veya EPS belgesini bir raster görüntüsüne dönüştürmek için, bir ImageSaveOptions Örnekler için to_image().Setleri format için "png" veya "jpeg" ve dpi Üretimi kontrol etmek için. Metoda A’ya geri dönüyor bytes Kodlanmış görüntü içeren nesne.
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)
JPEG çıkış, değişiklik için format="jpeg".• The dpi 96’ya kadar olan bir durumun farkına varılmaması.
EPS Metadata Hakkında Bilgiler
PsDocument A’yı göstermek dsc A’ya geri dönen bir mülk DscMetadata DSC’nin Yorumlar dosyada mevcuttur. DscMetadata Sınır kutusuna yapılandırılmış erişim sağlar. koordinatları, sayfa boyutu, yönlendirme, başlık ve yaratıcı alanları EPS başlığından parsedilir.
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)
Batch Dönüşüm
Çünkü tüm dönüşüm yöntemleri geri dönüyor bytes - Dosya yolları veya ham byte giriş olarak kabul edilir, batch işleme standart Python yuvaları ile doğrudan uygulanır veya 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)
Aynı desen EPS dosyalarına, glob modelini değiştirerek geçerlidir. "*.eps".