Bekerja dengan PDF Writer
Bekerja dengan 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.
Ekspor PDF Dasar
Simpan dokumen yang dimuat ke PDF menggunakan save() metode:
import aspose.words_foss as aw
doc = aw.Document("input.docx")
doc.save("output.pdf")Format menyimpan ditentukan secara otomatis dari ekstensi file. Untuk kontrol eksplisit, gunakan SaveFormat:
import aspose.words_foss as aw
doc = aw.Document("input.doc")
doc.save("output.pdf", aw.SaveFormat.PDF)Menggunakan PdfSaveOptions
Konfigurasi output PDF dengan PdfSaveOptions:
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 Rendering Pipeline (PDF Pencitraan Jalur)
Penulis PDF menggunakan empat render khusus secara internal:
| Penjual | Pengendali |
|---|---|
ParagraphRenderer | Menggambar paragraf LDM ke dalam PDF menangani penyelarasan, jarak, indentasi |
RunRenderer | Render berjalan diformat segmen teks dengan font, warna, dan tautan |
ShapeRenderer | Menggambar bentuk, gambar dan elemen yang diposisikan |
TableRenderer | Menggambar tabel LDM cell borders, merges, dan padding |
Renderer ini bekerja sama untuk menghasilkan PDF akhir. Anda berinteraksi dengan mereka secara tidak langsung melalui Document.save().
Mengkonversi Berbagai Format ke PDF
Penulis PDF menerima input dari pembaca yang didukung (DOCX, DOC, RTF, TXT, Markdown):
import aspose.words_foss as aw
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}")Tips dan Praktik Terbaik
- Penggunaan
PdfSaveOptionsketika Anda perlu menyesuaikan output PDF di luar standar. - Untuk konversi batch, muat dan simpan dalam loop renderer tidak memiliki status dan dapat digunakan kembali di seluruh dokumen.
- Penulis PDF menyimpan tebal, kursif, garis bawah, ukuran font, dan warna dari dokumen sumber.
- Gabungan sel tabel (
CellMerge) ditampilkan dengan benar dalam output PDF. - Uji dengan dokumen representatif sebelum digunakan untuk produksi tata letak yang kompleks mungkin perlu disesuaikan.
Masalah Umum
| Isu | Penyebabnya | Perbaiki |
|---|---|---|
| Font berbeda dalam PDF | Font tidak tersedia di sistem | Instal font yang diperlukan atau gunakan penggantian font |
| Tabel yang tidak selaras | Struktur tabel bergelombang yang kompleks | Sederhanakan penempatan tabel dalam dokumen sumber |
| Gambar yang hilang | Data gambar tidak tertanam dalam sumber | Pastikan gambar tertanam, tidak terhubung secara eksternal |
FAQ
Format input apa yang dapat diekspor ke PDF?
DOCX, DOc, RTF, TXT, dan Markdown file semua dapat dimuat dan disimpan sebagai PDF.
Apakah editor PDF mendukung header halaman dan footer?
Header dan footer dari dokumen sumber dimasukkan ke dalam output PDF ketika hadir di LDM.
Bisakah saya mengontrol ukuran halaman PDF dan orientasi?
Sifat setup halaman (ukuran, orientasi, margin) dari dokumen sumber disimpan dalam PDF. Modify PageSetup pada tanggal: Document bagian sebelum menyimpan untuk mengubah nilai-nilai ini.
Ringkasan Referensi API
| Kelas / Metode | Deskripsi |
|---|---|
PdfSaveOptions | Pilihan untuk menyimpan dokumen sebagai PDF |
ParagraphRenderer | Menggambar paragraf LDM ke dalam PDF |
RunRenderer | Render format berjalan (teks dengan font, warna, tautan) |
ShapeRenderer | Menggambar bentuk, gambar dan elemen yang diposisikan |
TableRenderer | Menggambar tabel LDM ke dalam PDF |
SaveFormat.PDF | Konstan untuk format menyimpan PDF |
Document.save(path) | Simpan dokumen ke format yang ditentukan |