1. محصولات
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS برای Python

کتابخانهٔ رایگان و تحت مجوز MIT Python برای استخراج اسناد PS، EPS و XPS به صورت PDF و تصاویر رستر. نیازی به Office نیست.

کتابخانهٔ متن‌باز Python برای تبدیل PS، EPS و XPS

Aspose.Page FOSS برای Python یک کتابخانهٔ رایگان و متن‌باز برای تبدیل PostScript (PS)، پست اسکریپت محصور (EPS) و اسناد XPS در برنامه‌های Python. آن را با یک یک دستور pip install aspose-page-foss و شروع به استخراج اسناد به PDF و تصاویر رستر بدون هیچ وابستگی زمان اجرا یا سیستم اختصاصی.

کتابخانه یک API تمیز ارائه می‌دهد که بر پایه PsDocument و XpsDocument ساخته شده است. یک سند را بارگذاری کنید با from_file() یا from_bytes()، سپس to_pdf() را فراخوانی کنید تا یک جریان بایت PDF به‌دست آورید، یا to_image() با یک نمونه ImageSaveOptions برای رندر به PNG یا JPEG با DPI مشخص. یک سرور MCP اختیاری ps_to_pdf، ps_to_image، xps_to_pdf و xps_to_image را در دسترس قرار می‌دهد به‌عنوان ابزارهای تبدیل از راه دور با استفاده از FastMCP.

چون کتابخانه هیچ وابستگی به کتابخانه‌های بومی آفیس یا Ghostscript ندارد، اجرا می‌شود به‌طور یکسان بر روی Windows، Linux و macOS، شامل CI runners و Docker containers. این پایگاه کد تحت مجوز MIT است و در GitHub میزبانی می‌شود. توسعه‌دهندگانی که به API تجاری کامل نیاز دارند می‌توانید از Aspose.Page برای Python همراه با این منابع منبع باز استفاده کنید. برای خانواده محصولات سازمانی، به Aspose.Page — Enterprise Product Family مراجعه کنید.

تبدیل اسناد PS و EPS

  • PS to PDF: برای استخراج سند به‌صورت آرایه بایت PDF، PsDocument.from_file() را فراخوانی کنید سپس to_pdf().
  • EPS to PDF: PsDocument.from_file() هر دو پسوند فایل .ps و .eps را می‌پذیرد.
  • PS/EPS به تصویر: یک ImageSaveOptions(format="png", dpi=150) را به to_image() بدهید برای خروجی PNG یا JPEG.
  • پردازش در حافظه: تمام تبدیل‌ها bytes را برمی‌گردانند — نیازی به فایل‌های موقت نیست.
  • از بایت‌ها: از PsDocument.from_bytes() برای پردازش داده‌های PS/EPS از یک جریان شبکه یا بارگذاری استفاده کنید.

جایی که تبدیل PS/EPS استفاده می‌شود

  • پایپلاین‌های سند: گزارش‌های PostScript قدیمی را برای بایگانی یا توزیع به PDF صادر کنید.
  • جریان‌های چاپ: تبدیل خروجی PS از درایورهای چاپ به پیش‌نمایش‌های PDF یا تصویر.
  • پردازش دارایی EPS: رسترایز کردن تصاویر EPS به PNG برای استفاده در وب یا مستندات.
  • اتوماسیون دسته‌ای: پردازش پوشه‌های حاوی فایل‌های PS/EPS در کارهای CI یا cron بدون نیاز به GUI.

تبدیل اسناد XPS

  • XPS به PDF: برای استخراج فایل XPS به صورت آرایه بایت PDF، XpsDocument.from_file() را فراخوانی کنید سپس to_pdf().
  • XPS به تصویر: با to_image() و ImageSaveOptions برای رندر صفحات XPS به PNG یا JPEG فراخوانی کنید.
  • از بایت‌ها: برای داده‌های XPS در حافظه که از بارگذاری‌ها یا جریان‌ها می‌آیند از XpsDocument.from_bytes() استفاده کنید.
  • دسترسی به صفحه: از add_page()، get_page() و remove_page() برای کار با صفحات جداگانه استفاده کنید.
  • خواندن بسته XPS: از XpsPackage.from_file() برای بررسی بخش‌های خام بسته XPS استفاده کنید.

جایی که تبدیل XPS استفاده می‌شود

  • اسپول چاپ ویندوز: فایل‌های اسپول XPS را از زیرسیستم چاپ ویندوز به PDF یا تصویر صادر کنید.
  • بایگانی اسناد: تبدیل فایل‌های XPS به PDF قابل خواندن برای همه برای ذخیره‌سازی طولانی‌مدت.
  • تولید پیش‌نمایش: صفحات XPS را به تصویرهای بندانگشتی PNG برای سیستم‌های مدیریت اسناد رندر کنید.
  • استفاده چندپلتفرمی: پردازش فایل‌های XPS در سرورهای Linux و macOS که نمایشگرهای بومی در دسترس نیستند.

سرور MCP برای تبدیل از راه دور

  • آشکارسازی ابزار: create_server() ثبت می‌کند ps_to_pdf، ps_to_image، xps_to_pdf و xps_to_image را به عنوان ابزارهای MCP از طریق FastMCP.
  • متادیتای EPS: ابزار eps_metadata جعبه مرزی و فیلدهای سرصفحه DSC را از فایل‌های EPS استخراج می‌کند.
  • نوع‌های ورودی/خروجی: McpInput یک مسیر فایل یا بایت‌های کدگذاری‌شده به صورت base64 را می‌پذیرد؛ McpOutput بایت‌های base64 را برمی‌گرداند یا در مسیری می‌نویسد.
  • گزینه‌های تبدیل: McpConversionOptions فرمت خروجی و DPI را برای تبدیل‌های تصویر کنترل می‌کند.
  • وابستگی اختیاری: FastMCP فقط برای میزبانی سرور MCP مورد نیاز است؛ تبدیل اصلی بدون آن کار می‌کند.

موارد استفاده MCP

  • پایپلاین‌های عامل هوش مصنوعی: تبدیل سند را به عنوان ابزاری که توسط Claude یا سایر عامل‌های سازگار با MCP قابل فراخوانی است، در دسترس قرار دهید.
  • Microservices: یک سرویس تبدیل سبک وزن که PS/EPS/XPS را از طریق HTTP می‌پذیرد.
  • IDE plugins: عملکرد تبدیل سطح به ویرایشگرهایی که سرورهای ابزار MCP را پشتیبانی می‌کنند.
  • اتوماسیون گردش کار: تبدیل را در n8n یا پلتفرم‌های اتوماسیون کم‌کد مشابه ادغام کنید.

مدل رندر و خروجی PDF

  • RenderModelBuilder: یک RenderDocument را با begin_page()، add_path()، add_text()، add_image() و end_page() بسازید.
  • PdfWriter: یک نمونه PdfMetadata را پاس دهید و write(doc) را فراخوانی کنید تا یک آرایه بایت PDF از هر RenderDocument تولید شود.
  • PdfMetadata: فیلدهای title، creator، producer، creation_date و trapped را در PDF خروجی تنظیم کنید.
  • RasterRenderer: یک RenderDocument را به RasterSurface رندر کنید؛ با encode_png() یا encode_bmp() رمزگذاری کنید.
  • کدگذاری یونیکد: لایه خروجی PDF متن یونیکد چند اسکریپتی شامل CJK و سیریلیک را می‌نویسد.

موارد استفاده رندرینگ سطح پایین

  • تولید PDF سفارشی: صفحات را با مسیرهای برداری، متن و تصاویر بدون فایل میانی PS/XPS بسازید.
  • آزمون پیکسل‌پرفکت: از RasterRenderer برای رندر اسناد و مقایسه خروجی‌های پیکسل در تست‌های خودکار استفاده کنید.
  • جاسازی قلم: قلم‌های TrueType را با استفاده از FontResolver و build_embedded_font() برای رندر صحیح جاسازی کنید.
  • مدیریت رنگ: اعمال اشیاء Paint با فضاهای رنگی DeviceRGB یا مبتنی بر CIE به مسیرها و متن.

تبدیل PS به PDF

برای دسترسی به فایل PostScript، PsDocument.from_file() را فراخوانی کنید و برای استخراج آن به‌صورت جریان بایت PDF، to_pdf() را فراخوانی کنید.

from pathlib import Path
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("input.ps")
output_pdf = ps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

تبدیل EPS به PNG

کلاس PsDocument یکسان فایل‌های EPS را مدیریت می‌کند. یک ImageSaveOptions با فرمت و DPI مورد نظر را به to_image() پاس دهید.

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("input.eps")
output_png = eps.to_image(ImageSaveOptions(format="png", dpi=150))
with open("output.png", "wb") as f:
    f.write(output_png)

تبدیل XPS به PDF

برای دسترسی به سند XPS، XpsDocument.from_file() را فراخوانی کنید و برای استخراج آن به‌عنوان جریان بایت PDF، to_pdf() را فراخوانی کنید.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("input.xps")
output_pdf = xps.to_pdf()
Path("output.pdf").write_bytes(output_pdf)

سوالات متداول

مجوزی که Aspose.Page FOSS برای Python استفاده می‌کند چیست؟

Aspose.Page FOSS برای Python تحت MIT License منتشر شده است که اجازه استفاده در برنامه‌های تجاری و مالکیتی را می‌دهد.

آیا وابستگی‌های بومی وجود دارد؟

خیر. این کتابخانه هیچ وابستگی‌ای به Ghostscript، Adobe Reader یا هیچ زمان‌اجرای بومی ندارد. این کتابخانه بر روی Windows، Linux و macOS اجرا می‌شود.

کتابخانه از چه فرمت‌های ورودی پشتیبانی می‌کند؟

این کتابخانه فایل‌های PostScript (.ps)، Encapsulated PostScript (.eps) و XPS (.xps) را می‌خواند.

کتابخانه چه فرمت‌های خروجی تولید می‌کند؟

این کتابخانه به PDF از طریق to_pdf() و به تصاویر رستر PNG یا JPEG از طریق to_image() با ImageSaveOptions صادر می‌شود.

آیا می‌توانم فایل‌ها را در حافظه پردازش کنم بدون I/O دیسک؟

بله. از from_bytes() برای بارگذاری از بایت‌های خام استفاده کنید و بایت‌های بازگشتی از to_pdf() یا to_image() را به‌صورت مستقیم بدون نوشتن فایل‌ها دریافت کنید.

  

منابع پشتیبانی و آموزش

 فارسی