Pendahuluan

Aspose.Page FOSS untuk Python adalah perpustakaan gratis dan sumber terbuka untuk mengonversi PostScript (PS), Encapsulated PostScript (EPS), dan dokumen XPS ke PDF serta gambar raster dalam aplikasi Python. Perpustakaan ini didistribusikan di bawah lisensi MIT dan tersedia di PyPI sebagai aspose-page-foss.

Perpustakaan ini menyediakan dua kelas dokumen tingkat atas: PsDocument untuk file PS dan EPS, serta XpsDocument untuk file XPS. Kedua kelas tersebut mengekspos metode to_pdf() dan to_image() yang mengembalikan array byte, sehingga mudah diintegrasikan ke dalam pipeline pemrosesan file tanpa menulis file sementara.

Karena perpustakaan ini tidak memiliki ketergantungan pada Ghostscript, Adobe Reader, atau runtime Office native apa pun, ia dapat dijalankan di Windows, Linux, dan macOS termasuk CI runner dan kontainer Docker. Pengembang yang memerlukan API komersial lengkap dengan fitur rendering lanjutan dapat terus menggunakan produk enterprise Aspose.Page untuk Python bersama dengan utilitas sumber terbuka ini.


Apa yang Disertakan

Konversi PS dan EPS ke PDF

PsDocument menangani baik file PostScript (.ps) maupun Encapsulated PostScript (.eps) melalui antarmuka kelas yang sama. Panggil PsDocument.from_file() untuk memuat dokumen, kemudian panggil to_pdf() untuk memperoleh hasilnya sebagai array byte PDF.

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)

Metode kelas from_bytes() menerima byte mentah, sehingga dokumen yang datang dari aliran jaringan atau unggahan file dapat diproses tanpa menulis ke disk terlebih dahulu.

PS dan EPS ke Gambar Raster

Untuk merender dokumen PS atau EPS menjadi gambar PNG atau JPEG, berikan sebuah instance ImageSaveOptions ke to_image(). Atur properti format ke "png" atau "jpeg" dan properti dpi untuk mengendalikan resolusi output.

from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

eps = PsDocument.from_file("input.eps")
opts = ImageSaveOptions(format="png", dpi=150)
png_bytes = eps.to_image(opts)

XPS ke PDF dan Gambar

XpsDocument memuat file XPS dan mengekspos antarmuka to_pdf() dan to_image() yang sama seperti PsDocument. Panggil XpsDocument.from_file() untuk memuat dokumen XPS, lalu konversi ke format output yang diinginkan.

from pathlib import Path
from aspose.page.xps.document import XpsDocument
from aspose.page.ps.output import ImageSaveOptions

xps = XpsDocument.from_file("input.xps")
pdf_bytes = xps.to_pdf()
Path("output.pdf").write_bytes(pdf_bytes)

png_bytes = xps.to_image(ImageSaveOptions(format="png", dpi=96))

Pemrosesan In-Memory

Semua metode konversi mengembalikan objek bytes. File sementara tidak pernah diperlukan kecuali aplikasi secara eksplisit menuliskannya. Konstruktor from_bytes() pada PsDocument dan XpsDocument menerima byte mentah sebagai input, sehingga seluruh pipeline dapat tetap berada di memori.

from aspose.page.ps.document import PsDocument

def convert_ps_in_memory(ps_bytes: bytes) -> bytes:
    doc = PsDocument.from_bytes(ps_bytes)
    return doc.to_pdf()

Integrasi Server MCP

Pustaka ini menyertakan server MCP opsional yang mengekspos fungsi konversi sebagai alat jarak jauh menggunakan FastMCP. Server ini mendaftarkan ps_to_pdf, ps_to_image, xps_to_pdf, dan xps_to_image sebagai alat yang dapat dipanggil. McpInput menerima jalur file atau byte yang dienkode base64; McpOutput mengembalikan byte base64 atau menulis ke jalur.

FastMCP adalah dependensi opsional — fungsi konversi inti bekerja tanpa itu. Server MCP berguna untuk membuat pustaka dapat dipanggil dari pipeline agen AI, mikroservis, dan editor yang mendukung server alat MCP.


Mulai Cepat

Instal pustaka dengan pip:

git clone https://github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python.git
cd Aspose.Page-FOSS-for-Python
pip install -e .

Contoh berikut mencakup kasus penggunaan paling umum — mengonversi file PS ke PDF dan menyimpannya ke disk:

from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions

# Convert PS to PDF
ps = PsDocument.from_file("document.ps")
Path("document.pdf").write_bytes(ps.to_pdf())

# Convert EPS to PNG at 150 DPI
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("illustration.png").write_bytes(eps.to_image(opts))

# Convert XPS to PDF
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.from_file("document.xps")
Path("document.pdf").write_bytes(xps.to_pdf())

Format yang Didukung

Aspose.Page FOSS untuk Python membaca PostScript (.ps), Encapsulated PostScript (.eps), dan XML Paper Specification (.xps) berkas. Format output adalah PDF (.pdf) dan gambar raster (.png, .jpeg). Semua konversi bersifat hanya-ekspor — pustaka tidak menulis PS, EPS, atau XPS.


Sumber Terbuka & Lisensi

Aspose.Page FOSS untuk Python dirilis di bawah lisensi MIT. Kode sumber dihosting di GitHub pada github.com/aspose-page-foss/Aspose.Page-FOSS-for-Python. Penggunaan komersial diizinkan tanpa batasan menurut ketentuan MIT.


Memulai

Sumber Daya Terkait