مقدمة
PostScript (PS) و Encapsulated Post Script (EPS). هي تنسيقات وثائق متجهة تستخدم في: سير العمل للطباعة، وأنظمة النشر القديمة، وخطوط التوصيل الرسومية. Aspose.صفحة FOSS لـ يقدم بايثون: PsDocument فئة واحدة تتعامل مع كلتا الفئتين .ps و .eps الملفات مع طرق لتصديرها إلى PDF أو صور الرسترة مباشرة من كود بايثون.
المكتبة لا تتطلب تثبيت Ghostscript ، ولا وقت تشغيل Adobe ، و لا يوجد اعتمادات النظام الأصلي. تعمل على Windows و Linux و macOS. قم بتثبيطها باستخدام pip واستخدامه فوراً في أي بيئة 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
اتصلوا 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 الممتلكات التي تعيد a 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".