การทํางานกับ PDF Writer
การทํางานกับ PDF Writer
Aspose.Words FOSS for Python exports documents to PDF through a dedicated rendering pipeline. The pipeline converts each LDM element — paragraphs, runs, shapes, and tables — into PDF output using specialized renderers.
การส่งออก PDF เบื้องต้น
เก็บเอกสารที่อุดมใส่เป็น PDF โดยใช้ save() วิธีการ:
import aspose.words_foss as aw
doc = aw.Document("input.docx")
doc.save("output.pdf")การกําหนดรูปแบบการบันทึกโดยอัตโนมัติจากขยายไฟล์. สําหรับการควบคุมอย่างชัดเจน, ใช้ SaveFormat:
doc = aw.Document(“input.doc”) doc.save(“output.pdf”, aw.SaveFormat.PDF)
---
### Using PdfSaveOptions
การตั้งค่าการออก PDF ด้วย `PdfSaveOptions`:
```python
import aspose.words_foss as aw
from aspose.words_foss.saving import PdfSaveOptions
doc = aw.Document("input.docx")
opts = PdfSaveOptions()
doc.save("output.pdf", opts)PDF การทํารูปแบบ Pipeline
ผู้เขียน PDF ใช้ตัวทําการแสดงผลเฉพาะภายใน 4 ตัว:
| Renderer | Handles |
|---|---|
ParagraphRenderer | ทําให้ข้อความ LDM เป็น PDF จัดการจัดสรร, ระยะห่าง, การลดลง |
RunRenderer | การให้การออกแบบรัน ส่วนข้อความที่มีตัวอักษร, สี และลิ้ง |
ShapeRenderer | ทําให้รูปร่าง, รูปภาพ และองค์ประกอบที่ตั้งอยู่ได้ |
TableRenderer | การแสดงตาราง LDM ขอบเซลล์, การรวมและการพัด |
เครื่องทําการแสดงผลเหล่านี้ทํางานร่วมกันเพื่อสร้าง PDF สุดท้าย คุณมีปฏิสัมพันธ์กับพวกเขาโดยทางไม่ตรงผ่าน Document.save().
การแปลงรูปแบบหลายรูปเป็น PDF
ผู้เขียน PDF จะรับการเข้าจากเครื่องอ่านที่สนับสนุนใด ๆ (DOCX, DOC, RTF, TXT, Markdown):
for input_file in [“report.docx”, “legacy.doc”, “notes.rtf”, “readme.txt”]: doc = aw.Document(input_file) pdf_name = input_file.rsplit(".", 1)[0] + “.pdf” doc.save(pdf_name) print(f"Saved {pdf_name}")
---
### เคล็ดลับและปฏิบัติที่ดีที่สุด
- การใช้งาน `PdfSaveOptions` เมื่อคุณต้องการปรับแต่งการออก PDF มากกว่าแบบตั้งค่า.
- สําหรับการแปลง Batch, Load and Save in a loop เครื่องทําการแสดงไม่มีสถานะและสามารถใช้งานซ้ําได้ในเอกสารต่างๆ.
- ตัวเขียน PDF จะเก็บความเข้มข้น, รูปแบบอักษรทับถอย, การลดลาย, ขนาดตัวอักขระ และสีจากเอกสารแหล่ง.
- การรวมเซลล์ตาราง (`CellMerge`) ได้ถูกแสดงออกเป็น PDF ออกไปอย่างถูกต้อง.
- การทดสอบกับเอกสารตัวแทน ก่อนการนําไปใช้ในผลิต แผนที่ซับซ้อนอาจต้องปรับเปลี่ยน.
---
### ปัญหาทั่วไป
| Issue | Cause | แก้ไข |
| ------------------ | ------------------------------------------ | -------------------------------------------- |
| แฟนท์ต่างกันใน PDF | แฟนท์ไม่พร้อมในระบบ | ติดตั้งตัวอักษรที่ต้องการหรือใช้การแทนตัวแปล |
| ตารางที่ไม่ตรงกัน | โครงสร้างโต๊ะที่ตั้งหอซับซ้อน | การจัดตารางในเอกสารแหล่งง่ายขึ้น |
| รูปภาพที่หายไป | ข้อมูลภาพที่ไม่ได้ถูกนํามาใช้ในแหล่งข้อมูล | การันตีภาพที่ติดตั้ง, ไม่เชื่อมต่อภายนอก |
---
### FAQ
#### รูปแบบการเข้าอะไรที่สามารถส่งออกเป็น PDF ได้?
DOCX, DO C, RTF, TXT และ Markdown ทั้งหมดสามารถอัตราการโหลดและบันทึกเป็น PDF.
#### เครื่องเขียน PDF รองรับหัวหน้าและตารางข้างล่าง?
หัวและหัวหน้าจากเอกสารแหล่งจะรวมอยู่ในผลิต PDF เมื่อมีใน LDM.
#### ผมสามารถควบคุมขนาดและแนวทางหน้า PDF ได้หรือไม่?
คุณสมบัติการตั้งหน้า (ขนาด, การทิศทาง, ขอบเขต) จากเอกสารแหล่งถูกรักษาไว้ใน PDF. Modify `PageSetup` ในวันที่ `Document` ส่วนก่อนการบันทึกเพื่อเปลี่ยนค่าเหล่านี้.
---
### คําอธิบายการพบบ่อย API
| ประเภท / กลไก | Description |
| --------------------- | ---------------------------------------------------- |
| `PdfSaveOptions` | ตัวเลือกในการบันทึกเอกสารเป็น PDF |
| `ParagraphRenderer` | ทําให้ข้อ LDM เป็น PDF |
| `RunRenderer` | การให้การออกแบบรัน (ข้อความที่มีตัวอักษร, สี, ลิงค์) |
| `ShapeRenderer` | ทําให้รูปร่าง, รูปภาพ และองค์ประกอบที่ตั้งอยู่ได้ |
| `TableRenderer` | ทําการแสดงตาราง LDM เป็น PDF |
| `SaveFormat.PDF` | เสมอสําหรับรูปแบบการบันทึก PDF |
| `Document.save(path)` | เก็บเอกสารในรูปแบบที่กําหนดไว้ |
## See Also
- [Aspose.Words for Python — Enterprise Documentation](https://docs.aspose.com/words/python-net/)