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 for Python היא ספרייה חופשית וקוד פתוח להמרת PostScript (PS), קבצי Encapsulated PostScript (EPS) ו‑XPS ביישומי Python. התקן אותו עם a פקודה 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.

מכיוון שהספרייה אינה תלויה בספריות Office מקומיות או ב‑Ghostscript, היא מתפקדת בזהות על Windows, Linux ו‑macOS, כולל מריצי CI ומכולות Docker. The קוד המקור ברישיון MIT ומאוחסן ב‑GitHub. מפתחים שזקוקים לממשק API המסחרי המלא. ניתן להשתמש ב-Aspose.Page עבור Python יחד עם משאבים קוד פתוח אלה. עבור משפחת המוצרים הארגונית, ראה Aspose.Page — Enterprise Product Family.

המרת מסמכי PS ו‑EPS

  • PS to PDF: קרא PsDocument.from_file() ואז to_pdf() כדי לייצא את המסמך כמערך בתים של 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

  • Document pipelines: ייצא דוחות PostScript ישנים ל-PDF לצורך ארכוב או הפצה.
  • תהליכי הדפסה: המרת פלט PS ממנהלי ההדפסה ל‑PDF או לתצוגות תמונה.
  • עיבוד נכסי EPS: המרת איורים בפורמט EPS ל‑PNG לשימוש באינטרנט או בתיעוד.
  • אוטומציה באצ’: עיבוד תיקיות של קבצי PS/EPS ב‑CI או בעבודות cron ללא GUI.

המרת מסמכי XPS

  • XPS to PDF: קרא XpsDocument.from_file() ואז to_pdf() כדי לייצא את קובץ ה‑XPS כמערך בתים של PDF.
  • XPS לתמונה: קרא to_image() עם ImageSaveOptions כדי לעבד דפי XPS ל‑PNG או JPEG.
  • מתוך בתים: השתמש ב-XpsDocument.from_bytes() עבור נתוני XPS בזיכרון מהעלאות או זרמים.
  • גישה לדפים: השתמש בadd_page(), get_page() וremove_page() כדי לעבוד עם דפים בודדים.
  • קריאת חבילת XPS: השתמש ב-XpsPackage.from_file() כדי לבדוק חלקי חבילת XPS גולמיים.

היכן נעשה שימוש בהמרת XPS

  • Windows print spool: ייצא קבצי ספול XPS ממערכת ההדפסה של Windows ל‑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

  • AI agent pipelines: חשוף המרת מסמכים ככלי שניתן לקריאה על ידי Claude או סוכנים אחרים תואמי MCP.
  • Microservices: הפעל שירות המרה קל משקל המקבל PS/EPS/XPS דרך HTTP.
  • IDE plugins: הצגת פונקציונליות המרה לעורכי קוד התומכים בשרתי כלי MCP.
  • אוטומציית זרימת עבודה: שלב המרה ב-n8n או בפלטפורמות אוטומציה low-code דומות.

מודל רינדור ופלט 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().
  • קידוד Unicode: שכבת הפלט של PDF כותבת טקסט Unicode מרובה‑תסריטים כולל CJK ו‑Cyrillic.

מקרי שימוש ברינדור ברמה נמוכה

  • יצירת PDF מותאמת אישית: בנה דפים עם נתיבי וקטור, טקסט ותמונות ללא קובץ ביניים PS/XPS.
  • בדיקת פיקסל-פרפקט: השתמש ב-RasterRenderer כדי לעבד מסמכים ולהשוות פלטים פיקסליים בבדיקות אוטומטיות.
  • הטמעת גופנים: הטמע גופני TrueType באמצעות FontResolver ו-build_embedded_font() לתצוגה נכונה.
  • ניהול צבע: החל Paint אובייקטים עם DeviceRGB או מרחבי צבע מבוססי CIE על נתיבים וטקסט.

המרה מ-PS ל-PDF

השתמש ב-PsDocument.from_file() כדי לגשת לקובץ PostScript והשתמש ב-to_pdf() כדי לייצא אותו כזרם בתים של 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

הקרא XpsDocument.from_file() כדי לגשת למסמך XPS וקרא to_pdf() כדי לייצא אותו כזרם בתים של 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, המאפשר שימוש ביישומים מסחריים וקנייניים.

האם קיימות תלויות מקומיות?

לא. הספרייה אינה תלויה ב‑Ghostscript, Adobe Reader או בכל סביבת ריצה מקומית. היא פועלת ב‑Windows, Linux ו‑macOS.

אילו פורמטים קלט הספרייה תומכת?

הספרייה קוראת קבצי PostScript (.ps), Encapsulated PostScript (.eps) ו‑XPS (.xps).

אילו פורמטים של פלט מייצרת הספרייה?

הספרייה מייצאת ל‑PDF דרך to_pdf() ול‑PNG או JPEG בתמונות רסטר דרך to_image() עם ImageSaveOptions.

האם ניתן לעבד קבצים בזיכרון ללא קלט/פלט לדיסק?

כן. השתמש ב‑from_bytes() לטעון מבייטים גולמיים והבייטים המוחזרים מ‑to_pdf() או to_image() ישירות ללא כתיבת קבצים.

  

משאבי תמיכה ולמידה

 עברית