1. Produk
  2.   Aspose.Page
  3.   Aspose.Page FOSS for Python

Aspose.Page FOSS untuk Python

Perpustakaan Python gratis berlisensi MIT untuk mengekspor dokumen PS, EPS, dan XPS sebagai PDF dan gambar raster. Tidak memerlukan Office.

Perpustakaan Python Open-Source untuk Konversi PS, EPS, dan XPS

Aspose.Page FOSS untuk Python adalah perpustakaan gratis, sumber terbuka untuk mengonversi PostScript (PS), Encapsulated PostScript (EPS), dan dokumen XPS dalam aplikasi Python. Instal dengan a perintah pip install aspose-page-foss tunggal dan mulai mengekspor dokumen ke PDF dan gambar raster tanpa ketergantungan runtime atau sistem yang bersifat proprietari.

Perpustakaan ini mengekspos API bersih yang dibangun di sekitar PsDocument dan XpsDocument. Muat dokumen dengan from_file() atau from_bytes(), kemudian panggil to_pdf() untuk memperoleh aliran byte PDF, atau to_image() dengan instance ImageSaveOptions untuk merender ke PNG atau JPEG pada DPI yang ditentukan. Sebuah server MCP opsional mengekspos ps_to_pdf, ps_to_image, xps_to_pdf, dan xps_to_image sebagai alat konversi jarak jauh menggunakan FastMCP.

Karena perpustakaan tidak memiliki ketergantungan pada perpustakaan Office native atau Ghostscript, ia berjalan. secara identik pada Windows, Linux, dan macOS, termasuk CI runner dan kontainer Docker. The basis kode berlisensi MIT dan dihosting di GitHub. Pengembang yang membutuhkan API komersial lengkap. dapat menggunakan Aspose.Page untuk Python bersama sumber daya open‑source ini. Untuk keluarga produk enterprise, lihat Aspose.Page — Enterprise Product Family.

Konversi Dokumen PS dan EPS

  • PS to PDF: Panggil PsDocument.from_file() lalu to_pdf() untuk mengekspor dokumen sebagai array byte PDF.
  • EPS to PDF: PsDocument.from_file() menerima kedua ekstensi file .ps dan .eps.
  • PS/EPS ke gambar: Berikan ImageSaveOptions(format="png", dpi=150) ke to_image() untuk output PNG atau JPEG.
  • Pemrosesan dalam memori: Semua konversi mengembalikan bytes — tidak diperlukan file sementara.
  • From bytes: Gunakan PsDocument.from_bytes() untuk memproses data PS/EPS dari aliran jaringan atau unggahan.

Di mana Konversi PS/EPS Digunakan

  • Document pipelines: Ekspor laporan PostScript lama ke PDF untuk pengarsipan atau distribusi.
  • Print workflows: Mengubah output PS dari driver cetak menjadi pratinjau PDF atau gambar.
  • Pemrosesan aset EPS: Rasterisasi ilustrasi EPS ke PNG untuk penggunaan web atau dokumentasi.
  • Otomatisasi batch: Proses direktori file PS/EPS dalam CI atau pekerjaan cron tanpa GUI.

Konversi Dokumen XPS

  • XPS ke PDF: Panggil XpsDocument.from_file() lalu to_pdf() untuk mengekspor file XPS sebagai array byte PDF.
  • XPS ke gambar: Panggil to_image() dengan ImageSaveOptions untuk merender halaman XPS ke PNG atau JPEG.
  • Dari byte: Gunakan XpsDocument.from_bytes() untuk data XPS dalam memori dari unggahan atau aliran.
  • Akses halaman: Gunakan add_page(), get_page(), dan remove_page() untuk bekerja dengan halaman individual.
  • Pembacaan paket XPS: Gunakan XpsPackage.from_file() untuk memeriksa bagian paket XPS mentah.

Di mana Konversi XPS Digunakan

  • Windows print spool: Ekspor file spool XPS dari subsistem pencetakan Windows ke PDF atau gambar.
  • Arsip dokumen: Ubah file XPS menjadi PDF yang dapat dibaca secara universal untuk penyimpanan jangka panjang.
  • Pembuatan pratinjau: Render halaman XPS ke thumbnail PNG untuk sistem manajemen dokumen.
  • Penggunaan lintas platform: Proses file XPS pada server Linux dan macOS di mana penampil asli tidak tersedia.

Server MCP untuk Konversi Jarak Jauh

  • Paparan Alat: create_server() mendaftarkan ps_to_pdf, ps_to_image, xps_to_pdf, dan xps_to_image sebagai alat MCP melalui FastMCP.
  • Metadata EPS: Alat eps_metadata mengekstrak kotak pembatas dan bidang header DSC dari file EPS.
  • Input/output types: McpInput menerima jalur file atau byte yang di‑encode base64; McpOutput mengembalikan byte base64 atau menulis ke jalur.
  • Opsi konversi: McpConversionOptions mengontrol format output dan DPI untuk konversi gambar.
  • Dependensi opsional: FastMCP hanya diperlukan untuk hosting server MCP; konversi inti berfungsi tanpa itu.

Kasus Penggunaan MCP

  • AI agent pipelines: Mengekspos konversi dokumen sebagai alat yang dapat dipanggil oleh Claude atau agen lain yang kompatibel dengan MCP.
  • Microservices: Jalankan layanan konversi ringan yang menerima PS/EPS/XPS melalui HTTP.
  • IDE plugins: Fungsionalitas konversi permukaan ke editor yang mendukung server alat MCP.
  • Otomatisasi alur kerja: Integrasikan konversi ke dalam n8n atau platform otomasi low-code serupa.

Render Model dan Output PDF

  • RenderModelBuilder: Bangun sebuah RenderDocument dengan begin_page(), add_path(), add_text(), add_image(), dan end_page().
  • PdfWriter: Berikan sebuah instance PdfMetadata dan panggil write(doc) untuk menghasilkan array byte PDF dari RenderDocument apa pun.
  • PdfMetadata: Atur bidang title, creator, producer, creation_date, dan trapped pada PDF output.
  • RasterRenderer: Render sebuah RenderDocument ke RasterSurface; encode dengan encode_png() atau encode_bmp().
  • Unicode encoding: Lapisan output PDF menulis teks Unicode multi‑skrip termasuk CJK dan Cyrillic.

Kasus Penggunaan Rendering Tingkat Rendah

  • Pembuatan PDF Kustom: Bangun halaman dengan jalur vektor, teks, dan gambar tanpa file PS/XPS perantara.
  • Pengujian pixel-perfect: Gunakan RasterRenderer untuk merender dokumen dan membandingkan output pixel dalam pengujian otomatis.
  • Font embedding: Sisipkan font TrueType menggunakan FontResolver dan build_embedded_font() untuk rendering yang benar.
  • Manajemen warna: Terapkan objek Paint dengan ruang warna DeviceRGB atau berbasis CIE ke jalur dan teks.

Konversi PS ke PDF

Panggil PsDocument.from_file() untuk mengakses file PostScript dan panggil to_pdf() untuk mengekspornya sebagai aliran 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)

Konversi EPS ke PNG

Kelas PsDocument yang sama menangani file EPS. Berikan sebuah ImageSaveOptions dengan format dan DPI yang diinginkan ke 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)

Konversi XPS ke PDF

Panggil XpsDocument.from_file() untuk mengakses dokumen XPS dan panggil to_pdf() untuk mengekspornya sebagai aliran 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)

Pertanyaan yang Sering Diajukan

Lisensi apa yang digunakan Aspose.Page FOSS untuk Python?

Aspose.Page FOSS untuk Python dirilis di bawah MIT License, memungkinkan penggunaan dalam aplikasi komersial dan proprietari.

Apakah ada dependensi native?

Tidak. Perpustakaan tidak memiliki ketergantungan pada Ghostscript, Adobe Reader, atau runtime native apa pun. Ia berjalan di Windows, Linux, dan macOS.

Format input apa yang didukung oleh library?

Perpustakaan membaca file PostScript (.ps), Encapsulated PostScript (.eps), dan XPS (.xps).

Format output apa yang dihasilkan oleh library?

Perpustakaan mengekspor ke PDF melalui to_pdf() dan ke gambar raster PNG atau JPEG melalui to_image() dengan ImageSaveOptions.

Apakah saya dapat memproses file di memori tanpa I/O disk?

Ya. Gunakan from_bytes() untuk memuat dari byte mentah dan byte yang dikembalikan dari to_pdf() atau to_image() secara langsung tanpa menulis file.

  

Sumber Daya Dukungan dan Pembelajaran

 Bahasa Indonesia