1. ผลิตภัณฑ์
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS สำหรับ Python

ฟรี, ไลบรารี Python ที่ใช้ใบอนุญาต MIT เพื่อส่งออกเอกสาร PS, EPS, และ XPS เป็น PDF และภาพเรสเตอร์. ไม่ต้องใช้ Office

Open-Source ไลบรารี Python สำหรับการแปลง PS, EPS, และ XPS

Aspose.Page FOSS for Python เป็นไลบรารีฟรีและโอเพ่นซอร์สสำหรับการแปลง PostScript (PS), Encapsulated PostScript (EPS), และเอกสาร XPS ในแอปพลิเคชัน Python. ติดตั้งด้วย a คำสั่ง pip install aspose-page-foss เดียวและเริ่มส่งออกเอกสารเป็น PDF และ ภาพราสเตอร์โดยไม่มีการพึ่งพา runtime หรือการพึ่งพาระบบที่เป็นกรรมสิทธิ์ใดๆ

ไลบรารีเปิดเผย 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 runners และ Docker containers. The codebase มีใบอนุญาตแบบ 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 to image: ส่ง ImageSaveOptions(format="png", dpi=150) ไปยัง to_image() เพื่อรับผลลัพธ์เป็น PNG หรือ JPEG.
  • การประมวลผลในหน่วยความจำ: การแปลงทั้งหมดจะคืนค่า bytes — ไม่ต้องใช้ไฟล์ชั่วคราว.
  • From bytes: Use PsDocument.from_bytes() เพื่อประมวลผลข้อมูล PS/EPS จากสตรีมเครือข่ายหรือการอัปโหลด.

ที่ใช้การแปลง PS/EPS

  • Document pipelines: ส่งออกรายงาน PostScript รุ่นเก่าเป็น PDF เพื่อการเก็บถาวรหรือการแจกจ่าย.
  • Print workflows: แปลงผลลัพธ์ 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 หรือรูปภาพ.
  • Document archiving: แปลงไฟล์ XPS ให้เป็น PDF ที่อ่านได้ทั่วโลกสำหรับการจัดเก็บระยะยาว.
  • การสร้างตัวอย่างภาพล่วงหน้า: แปลงหน้าของ XPS เป็นภาพย่อ PNG สำหรับระบบจัดการเอกสาร
  • การใช้งานข้ามแพลตฟอร์ม: ประมวลผลไฟล์ XPS บนเซิร์ฟเวอร์ Linux และ macOS ที่ไม่มีโปรแกรมดูไฟล์แบบดั้งเดิม.

MCP Server สำหรับการแปลงระยะไกล

  • การเปิดเผยเครื่องมือ: create_server() ลงทะเบียน ps_to_pdf, ps_to_image, xps_to_pdf และ xps_to_image เป็นเครื่องมือ MCP ผ่าน FastMCP.
  • EPS metadata: เครื่องมือ eps_metadata ดึงข้อมูล bounding box และฟิลด์หัวเรื่อง DSC จากไฟล์ EPS.
  • ประเภทการป้อนข้อมูล/ผลลัพธ์: McpInput ยอมรับเส้นทางไฟล์หรือไบต์ที่เข้ารหัสเป็น base64; McpOutput คืนค่าไบต์ base64 หรือเขียนไปยังเส้นทาง.
  • ตัวเลือกการแปลง: McpConversionOptions ควบคุมรูปแบบเอาต์พุตและ DPI สำหรับการแปลงภาพ.
  • การพึ่งพาแบบเลือก: FastMCP จำเป็นเฉพาะสำหรับการโฮสต์เซิร์ฟเวอร์ MCP; การแปลงหลักทำงานได้โดยไม่ต้องใช้มัน.

กรณีการใช้งาน MCP

  • AI agent pipelines: เปิดเผยการแปลงเอกสารเป็นเครื่องมือที่สามารถเรียกใช้ได้โดย Claude หรือเอเจนต์ที่เข้ากันได้กับ MCP.
  • ไมโครเซอร์วิส: เรียกใช้บริการแปลงข้อมูลแบบเบาที่รับ 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 encoding: ชั้นการส่งออก PDF เขียนข้อความ Unicode แบบหลายสคริปต์รวมถึง CJK และ Cyrillic.

กรณีการใช้งานการเรนเดอร์ระดับต่ำ

  • การสร้าง PDF แบบกำหนดเอง: สร้างหน้าด้วยเส้นทางเวกเตอร์ ข้อความ และภาพโดยไม่ต้องใช้ไฟล์ PS/XPS ระหว่างขั้นตอน
  • การทดสอบพิกเซลที่สมบูรณ์แบบ: ใช้ RasterRenderer เพื่อเรนเดอร์เอกสารและเปรียบเทียบผลลัพธ์พิกเซลในการทดสอบอัตโนมัติ.
  • การฝังแบบอักษร: ฝังแบบอักษร TrueType โดยใช้ FontResolver และ build_embedded_font() เพื่อการแสดงผลที่ถูกต้อง.
  • การจัดการสี: ใช้วัตถุ Paint พร้อมพื้นที่สี DeviceRGB หรือ CIE-based กับเส้นทางและข้อความ.

แปลง 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 License ซึ่งอนุญาตให้ใช้ในแอปพลิเคชันเชิงพาณิชย์และเชิงเจ้าของ

มีการพึ่งพาแบบเนทีฟหรือไม่?

ไม่. ไลบรารีไม่มีการพึ่งพา Ghostscript, Adobe Reader หรือ runtime เนทีฟใด ๆ มันทำงานบน 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() โดยตรงโดยไม่ต้องเขียนไฟล์.

  

ทรัพยากรสนับสนุนและการเรียนรู้

 ภาษาไทย