1. Sản Phẩm
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS cho Python

Thư viện Python miễn phí, có giấy phép MIT để xuất tài liệu PS, EPS và XPS thành PDF và hình ảnh raster. Không cần Office.

Thư viện Python mã nguồn mở cho chuyển đổi PS, EPS và XPS

Aspose.Page FOSS cho Python là một thư viện miễn phí, mã nguồn mở để chuyển đổi PostScript (PS), Encapsulated PostScript (EPS), và tài liệu XPS trong các ứng dụng Python. Cài đặt nó bằng lệnh pip install aspose-page-foss duy nhất và bắt đầu xuất tài liệu sang PDF và hình ảnh raster mà không có bất kỳ runtime độc quyền nào hoặc phụ thuộc vào hệ thống.

Thư viện cung cấp một API sạch được xây dựng quanh PsDocumentXpsDocument. Tải tài liệu với from_file() hoặc from_bytes(), sau đó gọi to_pdf() để lấy luồng byte PDF, hoặc to_image() với một thể hiện ImageSaveOptions để render thành PNG hoặc JPEG ở DPI được chỉ định. Một máy chủ MCP tùy chọn cung cấp ps_to_pdf, ps_to_image, xps_to_pdfxps_to_image như các công cụ chuyển đổi từ xa sử dụng FastMCP.

Vì thư viện không phụ thuộc vào các thư viện Office gốc hoặc Ghostscript, nó chạy. đúng như nhau trên Windows, Linux và macOS, bao gồm các trình chạy CI và các container Docker. Cái Cơ sở mã được cấp phép MIT và được lưu trữ trên GitHub. Các nhà phát triển cần API thương mại đầy đủ. có thể sử dụng Aspose.Page cho Python cùng với các tài nguyên mã nguồn mở này. Đối với dòng sản phẩm doanh nghiệp, xem Aspose.Page — Enterprise Product Family.

Chuyển đổi tài liệu PS và EPS

  • PS to PDF: Gọi PsDocument.from_file() rồi to_pdf() để xuất tài liệu dưới dạng mảng byte PDF.
  • EPS to PDF: PsDocument.from_file() chấp nhận cả hai phần mở rộng tệp .ps.eps.
  • PS/EPS to image: Gửi một ImageSaveOptions(format="png", dpi=150) tới to_image() để xuất ra PNG hoặc JPEG.
  • Xử lý trong bộ nhớ: Tất cả các chuyển đổi trả về bytes — không cần tệp tạm thời.
  • From bytes: Sử dụng PsDocument.from_bytes() để xử lý dữ liệu PS/EPS từ luồng mạng hoặc tải lên.

Nơi chuyển đổi PS/EPS được sử dụng

  • Document pipelines: Xuất các báo cáo PostScript cũ sang PDF để lưu trữ hoặc phân phối.
  • Print workflows: Chuyển đổi đầu ra PS từ trình điều khiển in thành bản xem trước PDF hoặc hình ảnh.
  • Xử lý tài sản EPS: Chuyển đổi các minh họa EPS sang PNG để sử dụng trên web hoặc tài liệu.
  • Tự động hoá hàng loạt: Xử lý các thư mục chứa tệp PS/EPS trong CI hoặc công việc cron mà không cần giao diện người dùng.

Chuyển đổi tài liệu XPS

  • XPS sang PDF: Gọi XpsDocument.from_file() rồi to_pdf() để xuất tệp XPS dưới dạng mảng byte PDF.
  • XPS sang hình ảnh: Gọi to_image() với ImageSaveOptions để chuyển đổi các trang XPS sang PNG hoặc JPEG.
  • Từ byte: Sử dụng XpsDocument.from_bytes() cho dữ liệu XPS trong bộ nhớ từ các tệp tải lên hoặc luồng.
  • Truy cập trang: Sử dụng add_page(), get_page()remove_page() để làm việc với các trang riêng lẻ.
  • Đọc gói XPS: Sử dụng XpsPackage.from_file() để kiểm tra các phần thô của gói XPS.

Nơi chuyển đổi XPS được sử dụng

  • Windows print spool: Xuất các tệp spool XPS từ hệ thống in Windows sang PDF hoặc hình ảnh.
  • Lưu trữ tài liệu: Chuyển đổi các tệp XPS sang PDF có thể đọc được trên mọi nền tảng để lưu trữ lâu dài.
  • Tạo bản xem trước: Kết xuất các trang XPS thành hình thu nhỏ PNG cho các hệ thống quản lý tài liệu.
  • Sử dụng đa nền tảng: Xử lý các tệp XPS trên máy chủ Linux và macOS nơi không có trình xem gốc.

MCP Server cho Chuyển đổi Từ xa

  • Tiết lộ công cụ: create_server() đăng ký ps_to_pdf, ps_to_image, xps_to_pdf, và xps_to_image là các công cụ MCP thông qua FastMCP.
  • EPS metadata: Công cụ eps_metadata trích xuất hộp bao và các trường tiêu đề DSC từ các tệp EPS.
  • Input/output types: McpInput chấp nhận một đường dẫn tệp hoặc byte được mã hoá base64; McpOutput trả về byte base64 hoặc ghi vào một đường dẫn.
  • Tùy chọn chuyển đổi: McpConversionOptions kiểm soát định dạng đầu ra và DPI cho việc chuyển đổi hình ảnh.
  • Phụ thuộc tùy chọn: FastMCP chỉ cần thiết cho việc lưu trữ máy chủ MCP; chuyển đổi lõi vẫn hoạt động mà không có nó.

Các trường hợp sử dụng MCP

  • AI agent pipelines: Tiết lộ việc chuyển đổi tài liệu như một công cụ có thể gọi được bởi Claude hoặc các tác nhân tương thích MCP.
  • Microservices: Chạy một dịch vụ chuyển đổi nhẹ chấp nhận PS/EPS/XPS qua HTTP.
  • IDE plugins: Chức năng chuyển đổi bề mặt cho các trình soạn thảo hỗ trợ máy chủ công cụ MCP.
  • Tự động hoá quy trình làm việc: Tích hợp chuyển đổi vào n8n hoặc các nền tảng tự động hoá low-code tương tự.

Mô hình Render và Đầu ra PDF

  • RenderModelBuilder: Xây dựng một RenderDocument với begin_page(), add_path(), add_text(), add_image(), và end_page().
  • PdfWriter: Truyền một thể hiện PdfMetadata và gọi write(doc) để tạo một mảng byte PDF từ bất kỳ RenderDocument nào.
  • PdfMetadata: Đặt các trường title, creator, producer, creation_datetrapped trên PDF đầu ra.
  • RasterRenderer: Kết xuất một RenderDocument thành một RasterSurface; mã hoá bằng encode_png() hoặc encode_bmp().
  • Unicode encoding: Lớp xuất PDF ghi văn bản Unicode đa kịch bản bao gồm CJK và Cyrillic.

Các trường hợp sử dụng render cấp thấp

  • Tạo PDF tùy chỉnh: Xây dựng các trang với các đường vector, văn bản và hình ảnh mà không cần tệp PS/XPS trung gian.
  • Pixel-perfect testing: Sử dụng RasterRenderer để render tài liệu và so sánh kết quả pixel trong các bài kiểm thử tự động.
  • Font embedding: Nhúng phông chữ TrueType bằng cách sử dụng FontResolverbuild_embedded_font() để hiển thị đúng.
  • Quản lý màu sắc: Áp dụng các đối tượng Paint với không gian màu DeviceRGB hoặc dựa trên CIE cho các đường dẫn và văn bản.

Chuyển đổi PS sang PDF

Gọi PsDocument.from_file() để truy cập tệp PostScript và gọi to_pdf() để xuất nó dưới dạng luồng byte 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)

Chuyển đổi EPS sang PNG

Lớp PsDocument giống nhau xử lý các tệp EPS. Truyền một ImageSaveOptions với định dạng và DPI mong muốn tới 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)

Chuyển đổi XPS sang PDF

Gọi XpsDocument.from_file() để truy cập tài liệu XPS và gọi to_pdf() để xuất nó dưới dạng luồng byte 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)

Câu Hỏi Thường Gặp

Giấy phép nào mà Aspose.Page FOSS cho Python sử dụng?

Aspose.Page FOSS cho Python được phát hành dưới giấy phép MIT, cho phép sử dụng trong các ứng dụng thương mại và sở hữu.

Có bất kỳ phụ thuộc gốc nào không?

Không. Thư viện không phụ thuộc vào Ghostscript, Adobe Reader, hay bất kỳ môi trường chạy gốc nào. Nó chạy trên Windows, Linux và macOS.

Thư viện hỗ trợ những định dạng đầu vào nào?

Thư viện đọc các tệp PostScript (.ps), Encapsulated PostScript (.eps) và XPS (.xps).

Thư viện tạo ra những định dạng đầu ra nào?

Thư viện xuất ra PDF thông qua to_pdf() và ra các hình ảnh raster PNG hoặc JPEG thông qua to_image() với ImageSaveOptions.

Tôi có thể xử lý các tệp trong bộ nhớ mà không cần I/O đĩa không?

Có. Sử dụng from_bytes() để tải từ byte thô và các byte trả về từ to_pdf() hoặc to_image() trực tiếp mà không cần ghi file.

  

Tài Nguyên Hỗ Trợ và Học Tập

 Tiếng Việt