Introduction

PostScript (PS) та Encapsulated Post Script (EPS), це векторні формати документів, що використовуються в друковані робочі потоки, старі системи публікації та графічні трубопроводи. Aspose. Python надає: PsDocument один клас, який обробляє обидва. .ps і .eps файли з методами експорту їх до PDF або растрових зображень безпосередньо із коду Python.

Бібліотека не вимагає встановлення Ghostscript, а також немає абонентської системи. Вона працює на Windows, Linux та macOS. Завантажуйте її з піпом і використовуйте негайно в будь-якому середовищі Python 3.10+.


Завантаження файлів PS та EPS

PsDocument розкриває два класи методів завантаження документа. from_file() читає з шлях файлу; from_bytes() приймає нерозроблені байти з потоку або завантаження.

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)

У. is_eps декларації про нерухомість True якщо документ є файлом EPS, що корисно при: обробка змішаної партії файлів PS та EPS за допомогою одного і того ж кодового шляху.


Експорт до PDF-файлу

Call to_pdf() на завантаженому PsDocument отримати вихід як bytes об’єкт. результат є дійсним потоком байтів PDF, який може бути записаний на диск або зберігений у базі даних; або повернуто з кінцевої точки 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)

Для експорту PDF не потрібен об’єкт опцій. to_pdf() Метод приймає параметр опціонів для передових випадків використання.


Експорт до растрових зображень

Щоб зробити PS або EPS документ на растровий зображення, пропускайте ImageSaveOptions приклад до to_image().- Наладжано . format до "png" або "jpeg" і dpi для контролю розмірного розділу виходу. Метод повертає a. bytes об’єкт, що містить кодований образ.

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, зміна format="jpeg".- Я знаю. dpi об’єкт не встановлений, то дефолт на 96 .


Читання метаданих EPS

PsDocument викриває dsc властивість, яка повертає DscMetadata при цьому DSC коментарі присутні в допісі. DscMetadata забезпечує структурований доступ до рамкової коробки. координати, розмір сторінки, орієнтація, заголовок та поля творця аналізуються з загаловака 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)

Бач конверсії

Оскільки всі методи конверсії повертають bytes і приймає як вхід шлях файлів або нерозроблені байти, Бач-опрацювання безпосередньо реалізується з стандартними ципулами Python або 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)

Те ж саме правило застосовується до файлів EPS, змінюючи схему глоба на: "*.eps".


Починати з

Пов’язані ресурси