การแปลง PS และ EPS

การแปลง PS และ EPS

PsDocument คือจุดเข้าในการอัตราบรรจุ PostScript (.ps) และ Encapsulated PostScript (.eps) ทั้งสองรูปแบบถูกจัดการโดยคลาสเดียวกันผ่านอินเตอร์เฟซเดียวกัน.


การอัตราค่า PS หรือ EPS File

การใช้งาน PsDocument.from_file() เพื่ออัตราการโหลดเอกสารจากเส้นทางไฟล์. is_eps อสังหาริมทรัพย์ แสดงว่าไฟล์ที่ถูกอัพโหลดเป็นไฟล 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)

เพื่อการโหลดจากบายต์ raw (เช่น การอัพโลอว์หรือเครือข่าย) ใช้ from_bytes():

with open(“document.ps”, “rb”) as f: data = f.read() doc = PsDocument.from_bytes(data)


---

### การส่งออกเป็น PDF

Call `to_pdf()` บนเครื่องบรรทุก `PsDocument` เพื่อการรับอาร์เรย์ไบต์ PDF. เขียนผล เพื่อดิสก์หรือคืนมันโดยตรงจากตัวจัดการ 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)

การส่งออกเป็น PNG หรือ JPEG

ผ่านการ ImageSaveOptions ตัวอย่างที่ to_image().ติดตั้ง format ไปยัง "png" หรือ "jpeg" และ dpi ความละเอียดที่ต้องการ.

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))

การอ่าน EPS DSC เมตาเดท่า

PsDocument.dsc กลับ a DscMetadata ตัวอย่างเมื่อ DSC หัวข้อความคิดเห็นมีอยู่ ใช้มันเพื่ออ่านกรอบเขต, ชื่อกระทู้ และสนามผู้สร้าง ก่อนการแปลง.

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)


---

### เคล็ดลับและปฏิบัติที่ดีที่สุด

- การใช้งาน `from_bytes()` เมื่อประมวลผลการอัพโหลด เพื่อไม่ให้เขียนไฟล์ชั่วคราว.
- Check `is_eps` การทําสาขาล็อกิกเมื่อประมวลผลชุดผสมของ PS และ EPS ไฟล์.
- เซ็ต `dpi=150` หรือสูงกว่า สําหรับผลิตราสเตอร์ที่ใช้ในระบบการดูภาพล่วงหน้าของเอกสาร.
- วิธีการแปลงทั้งหมดคืน `bytes` เก็บหรือถ่ายทอดมันโดยไม่ต้องใช้ I/O ดิสก์ หากจําเป็น.

---

### ปัญหาทั่วไป

| Issue                   | Cause                                      | แก้ไข                                               |
| ----------------------- | ------------------------------------------ | --------------------------------------------------- |
| `FileNotFoundError`     | เส้นทางผ่านไปยัง `from_file()` ไม่มีอยู่   | ยืนยันเส้นทางไฟล์ก่อนการโทร `from_file()`           |
| การออก PDF ที่ว่างเปล่า | ไฟล์ PS ไม่มีเนื้อหาที่สามารถทําการแสดงได้ | ตรวจสอบแหล่ง PS ที่ขาดหายไป `showpage` ผู้ประกอบการ |
| ราสเตอร์ความละเอียดต่ํา | DPI โดยตั้งค่าคือ 96                       | Pass `ImageSaveOptions(dpi=150)` หรือสูงกว่านั้น    |

---

### FAQ

#### ผมสามารถแปลงไฟล์ EPS เป็น PDF ได้หรือไม่?

ใช่แล้ว. `PsDocument.from_file()` ยอมรับทั้งคู่ `.ps` และ `.eps` การขยาย. โทรหา `to_pdf()` ในเอกสารที่กลับเพื่อการรับข้อมูล PDF bytes.

#### การแปลงต้องการ Ghostscript ไหม?

ไม่ ห้องสมุดไม่มีการพึ่งพา Ghostscript หรือ runtime ของพื้นบ้านใดๆ.

#### ผมสามารถประมวลผลไฟล์ PS โดยไม่ต้องเขียนในดิสก์ได้หรือไม่?

ใช่ ใช้ `from_bytes()` เพื่อบรรทุกจาก a `bytes` เปิดเป้าหมายและใช้การกลับ `bytes` จาก `to_pdf()` หรือ `to_image()` โดยตรง ไม่จําเป็นต้องเขียนไฟล์ใด ๆ.

---

### คําอธิบายการพบบ่อย API

| ประเภท / กลไก                  | Description                        |
| ------------------------------ | ---------------------------------- |
| `PsDocument.from_file(path)`   | การอัด PS หรือ EPS จากเส้นทางไฟล์  |
| `PsDocument.from_bytes(data)`  | Load PS หรือ EPS จากบายต์ Raw      |
| `PsDocument.to_pdf(options)`   | การส่งออกเป็น PDF byte             |
| `PsDocument.to_image(options)` | การส่งออกเป็นรูปราสเตอร์ bytes     |
| `PsDocument.is_eps`            | True หากไฟล์ที่อัพโหลดเป็น EPS     |
| `PsDocument.dsc`               | เมตาข้อมูลหัว DSC (ไฟล์ EPS)       |
| `DscMetadata.bounding_box`     | กล่องเขต EPS เป็น (x0, y0, x1, y1) |
| `DscMetadata.title`            | ชื่อจากหัว EPS DSC                 |
| `ImageSaveOptions.format`      | รูปแบบการออก: "png" หรือ "jpeg"    |
| `ImageSaveOptions.dpi`         | ความละเอียดการออกใน DPI            |

## See Also

- [Aspose.Page — Enterprise Documentation](https://docs.aspose.com/page/)
 ภาษาไทย