Konversi PS dan EPS
Konversi PS dan EPS
PsDocument adalah titik masuk untuk memuat PostScript (.ps) dan Encapsulated PostScript (.epsKedua format ini dioperasikan oleh kelas yang sama melalui antarmuka yang bersamaan.
Mengunggah File PS atau EPS
Penggunaan PsDocument.from_file() untuk memuat dokumen dari jalur file. is_eps properti menunjukkan apakah file yang dimuat adalah file EPS.
from aspose.page.ps.document import PsDocument
ps = PsDocument.from_file("document.ps")
eps = PsDocument.from_file("illustration.eps")
print("Is EPS:", eps.is_eps)Untuk memuat dari byte mentah (misalnya upload atau jaringan stream), gunakan from_bytes():
with open(“document.ps”, “rb”) as f: data = f.read() doc = PsDocument.from_bytes(data)
---
### Ekspor ke PDF
Call `to_pdf()` pada beban yang penuh. `PsDocument` untuk mendapatkan array byte PDF. Tulis hasilnya untuk disk atau kembali langsung dari penanganan HTTP.
```python
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)Ekspor ke PNG atau JPEG
Menerima sebuah ImageSaveOptions contoh untuk to_image()./ Siap. format ke "png" atau: "jpeg" dan (b) dpi ke resolusi yang diinginkan.
from pathlib import Path
from aspose.page.ps.document import PsDocument
from aspose.page.ps.output import ImageSaveOptions
eps = PsDocument.from_file("illustration.eps")
opts = ImageSaveOptions(format="png", dpi=150)
Path("output.png").write_bytes(eps.to_image(opts))Membaca Metadata EPS DSC
PsDocument.dsc mengembalikan a DscMetadata contoh ketika komentar header DSC hadir Gunakan untuk membaca kotak batas, judul, dan bidang pencipta sebelum mengkonversi.
eps = PsDocument.from_file(“illustration.eps”) dsc = eps.dsc if dsc is not None: print(“Title:”, dsc.title) print(“Bounding box:”, dsc.bounding_box) print(“Creator:”, dsc.creator)
---
### Tips dan Praktik Terbaik
- Penggunaan `from_bytes()` saat memproses upload untuk menghindari menulis file sementara.
- Check `is_eps` untuk logika cabang saat memproses batch campuran file PS dan EPS.
- Set (set) `dpi=150` atau lebih tinggi untuk output raster yang digunakan dalam sistem pratinjau dokumen.
- Semua metode konversi mengembalikan `bytes` menyimpan atau mengalirkan tanpa disk I/O jika diperlukan.
---
### Masalah Umum
| Issue | Cause | Perbaiki |
| ---------------------- | ------------------------------------------------ | -------------------------------------------------- |
| `FileNotFoundError` | Jalur diteruskan ke `from_file()` tidak ada | Periksa jalur file sebelum menelepon `from_file()` |
| Keluar PDF kosong | File PS tidak berisi konten yang dapat di-render | Periksa sumber PS untuk hilang `showpage` operator |
| Raster resolusi rendah | DPI default adalah 96 | Pass `ImageSaveOptions(dpi=150)` atau lebih tinggi |
---
### FAQ
#### Bisakah saya mengonversi file EPS ke PDF?
- Ya, aku tahu. `PsDocument.from_file()` menerima keduanya. `.ps` dan (b) `.eps` Perpanjang. `to_pdf()` pada dokumen yang dikembalikan untuk mendapatkan PDF byte.
#### Apakah konversi membutuhkan Ghostscript?
Tidak, perpustakaan tidak bergantung pada Ghostscript atau runtime asli.
#### Bisakah saya memproses file PS tanpa menulis ke disk?
Ya, gunakan. `from_bytes()` untuk memuat dari a `bytes` objek dan menggunakan yang dikembalikan `bytes` dari `to_pdf()` atau: `to_image()` langsung tidak perlu menulis file.
---
### Ringkasan Referensi API
| Kelas / Metode | Description |
| ------------------------------ | ---------------------------------------- |
| `PsDocument.from_file(path)` | Mengisi PS atau EPS dari jalur file |
| `PsDocument.from_bytes(data)` | Load PS atau EPS dari byte mentah |
| `PsDocument.to_pdf(options)` | Ekspor ke PDF byte |
| `PsDocument.to_image(options)` | Ekspor ke byte gambar raster |
| `PsDocument.is_eps` | Benar jika file yang dimuat adalah EPS |
| `PsDocument.dsc` | Metadata header DSC (file EPS) |
| `DscMetadata.bounding_box` | Kotak batas EPS sebagai (x0, y0, x1, y1) |
| `DscMetadata.title` | Judul dari header EPS DSC |
| `ImageSaveOptions.format` | Format output: "png" atau "jpeg" |
| `ImageSaveOptions.dpi` | Resolusi output dalam DPI |
## See Also
- [Aspose.Page — Enterprise Documentation](https://docs.aspose.com/page/)