Introduction
PostScript (PS) و Encapsulated Postcript (EPS)، فرمت های مستند وکتور هستند که در این زمینه مورد استفاده قرار می گیرند. جریان های کار چاپ، سیستم های انتشار میراث و لوله های گرافیکی. Aspose.Page FOSS for Python ارائه می دهد PsDocument یک کلاس که هر دو را در نظر می گیرد. .ps و .eps فایل ها - با روش های برای صادرات آنها به PDF یا تصاویر راستر مستقیما از کد Python.
کتابخانه نیازی به نصب Ghostscript ندارد، هیچ زمان اجرا Adobe و هیچ وابستگی سیستم های بومی ندارد. آن را بر روی ویندوز، لینوکس و macOS اجرا می شود. با استفاده از یک نوار نصب کنید و بلافاصله در هر محیط Python 3.10+ استفاده کنید.
دانلود فایل های PS و EPS
PsDocument دو روش برای بارگذاری یک سند را نشان می دهد. from_file() خواندن از A مسیر فایل؛; 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() روش پذیرش یک پارامتر گزینه های اختیاری برای موارد استفاده پیشرفته.
تصاویری از Raster Images
برای تبدیل یک سند 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، املاک و مستغلات به 96 رسیده است.
خواندن EPS متادیتا
PsDocument نمایش A 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)
تبدیل Batch
چون همه روش های تبدیل به بازگشت می کنند. bytes و مسیرهای فایل یا بایت های خام را به عنوان ورودی می پذیرد., پردازش بسته به طور مستقیم با استفاده از پایتون استاندارد یا 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".