Работа с PDF писател
Работа с PDF писател
Aspose.Words FOSS за Python изнася документи в PDF чрез специален тръбопровод за рендеринг. Тръбопровода превръща всеки LDM елемент параграфи, изпълнения, форми и таблици ?? в изход на PDF с помощта на специализирани рендери.
Основен PDF експорт
Запишете всеки зареден документ в PDF с помощта на метода save():
import aspose.words_foss as aw
doc = aw.Document("input.docx")
doc.save("output.pdf")Форматът на записване се определя автоматично от разширението на файла. За изричен контрол използвайте SaveFormat:
import aspose.words_foss as aw
doc = aw.Document("input.doc")
doc.save("output.pdf", aw.SaveFormat.PDF)Използване на PdfSaveOptions
Конфигуриране на изхода PDF с 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 рендеринг тръбопровод
PDF писателят използва четири специализирани интернета:
| Renderer | Handles |
|---|---|
ParagraphRenderer | Renders LDM paragraphs into PDF — handles alignment, spacing, indentation |
RunRenderer | Renders formatted runs — text segments with fonts, colors, and links |
ShapeRenderer | Renders shapes, images, and positioned elements |
TableRenderer | Renders LDM tables — cell borders, merges, and padding |
Тези рендери работят заедно, за да създадат окончателния PDF файл. Вие взаимодействате с тях непряко чрез Document.save().
Преобразуване на няколко формата в PDF
PDF писателят приема вход от всеки поддържан читател (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}")Съвети и най-добри практики
- Използвайте
PdfSaveOptions, когато трябва да персонализирате изхода на PDF извън стандартните. - За партидно преобразуване, зареждане и запазване в петна рендерите са бездържавни и могат да се използват отново между документите.
- PDF-репитерът запазва дебели, курсивни, подчертания, размери на шрифтове и цветове от източния документ.
- Сливането на таблични клетки (
CellMerge) се представя правилно в изход PDF. - Изпитване с представителни документи преди внедряването им в производството сложни оформления може да се наложи да бъдат коригирани.
Общи проблеми
| Issue | Cause | Fix |
|---|---|---|
| Fonts differ in PDF | Font not available on the system | Install the required fonts or use font substitution |
| Tables misaligned | Complex nested table structures | Simplify table nesting in the source document |
| Images missing | Image data not embedded in source | Ensure images are embedded, not externally linked |
Часто задавани въпроси
Кои формати на вход могат да бъдат експортирани към PDF?
DOCX, DO C, RTF, TXT и Markdown файловете могат да бъдат заредени и запазени като PDF.
Поддържа ли PDF писателя заглавията и стъпките на страници?
Заглавията и краищата от източния документ се включват в изхода на PDF, когато са налице в LDM.
Мога ли да контролирам размера и ориентацията на страницата в PDF?
Свойствата на настройката на страницата (размер, ориентация, маржове) от източния документ са запазени в PDF. Промените PageSetup в секциите за ̋Document∂ преди да запишете, за да промените тези стойности.
Снимка на API референтна информация
| Class / Method | Description |
|---|---|
PdfSaveOptions | Options for saving documents as PDF |
ParagraphRenderer | Renders LDM paragraphs into PDF |
RunRenderer | Renders formatted runs (text with fonts, colors, links) |
ShapeRenderer | Renders shapes, images, and positioned elements |
TableRenderer | Renders LDM tables into PDF |
SaveFormat.PDF | Constant for PDF save format |
Document.save(path) | Save document to the specified format |