Werken met PDF Writer
Werken met PDF Writer
Aspose.Words FOSS voor Python exporteert documenten naar PDF via een toegewijde renderpijplijn. De pijplijn converteert elk LDM-element — alinea’s, runs, vormen en tabellen — naar PDF-output met behulp van gespecialiseerde renderers.
Basis PDF-export
Sla elk geladen document op als PDF met behulp van LdmPdfWriter:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
doc = aw.Document("input.docx")
LdmPdfWriter().write(doc, "output.pdf")Het invoerformaat wordt automatisch gedetecteerd bij het laden — Document accepteert DOCX-, DOC-, RTF-, TXT- en Markdown-bestanden, en LdmPdfWriter genereert altijd PDF-output, ongeacht het invoerformaat:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
doc = aw.Document("input.doc")
LdmPdfWriter().write(doc, "output.pdf")Gebruik PdfSaveOptions
Configureer de PDF-output door PdfSaveOptions door te geven aan de constructor van de writer:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
from aspose.words_foss.saving import PdfSaveOptions
doc = aw.Document("input.docx")
opts = PdfSaveOptions()
LdmPdfWriter(opts).write(doc, "output.pdf")PDF-renderingspijplijn
De PDF-schrijver gebruikt intern vier gespecialiseerde renderers:
| Renderer | Handles |
|---|---|
ParagraphRenderer | Rendert LDM-paragrafen naar PDF — behandelt uitlijning, spatiëring en inspringen |
RunRenderer | Rendert opgemaakte runs — tekstdelen met lettertypen, kleuren en koppelingen |
ShapeRenderer | Rendert vormen, afbeeldingen en gepositioneerde elementen |
TableRenderer | Rendert LDM-tabellen — celranden, samenvoegingen en opvulling |
Deze renderers werken samen om de uiteindelijke PDF te produceren. Je werkt indirect met hen via LdmPdfWriter.
Meerdere formaten naar PDF converteren
De PDF-schrijver accepteert invoer van elke ondersteunde lezer (DOCX, DOC, RTF, TXT, Markdown):
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
writer = LdmPdfWriter()
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"
writer.write(doc, pdf_name)
print(f"Saved {pdf_name}")Tips en best practices
- Gebruik
PdfSaveOptionswanneer je de PDF-uitvoer verder moet aanpassen dan de standaardinstellingen. - Voor batchconversie laad en sla je in een lus — de renderers zijn stateless en herbruikbaar over documenten.
- De PDF-schrijver behoudt vet, cursief, onderstrepen, lettergroottes en kleuren van het brondocument.
- Samengevoegde tabelcellen (
CellMerge) worden correct weergegeven in de PDF-uitvoer. - Test met representatieve documenten voordat u naar productie gaat — complexe lay-outs kunnen aanpassing vereisen.
Veelvoorkomende problemen
| Probleem | Oorzaak | Oplossing |
|---|---|---|
| Lettertypen verschillen in PDF | Lettertype niet beschikbaar op het systeem | Installeer de vereiste lettertypen of gebruik lettertypevervanging |
| Tabellen niet uitgelijnd | Complexe geneste tabelstructuren | Vereenvoudig het nesten van tabellen in het brondocument |
| Afbeeldingen ontbreken | Afbeeldingsgegevens niet ingesloten in de bron | Zorg ervoor dat afbeeldingen zijn ingesloten, niet extern gekoppeld |
FAQ
Welke invoerformaten kunnen naar PDF worden geëxporteerd?
DOCX-, DOC-, RTF-, TXT- en Markdown-bestanden kunnen allemaal worden geladen en als PDF worden opgeslagen.
Ondersteunt de PDF-schrijver paginakoppen en -voetteksten?
Koppen en voetteksten van het brondocument worden opgenomen in de PDF-output wanneer ze aanwezig zijn in de LDM.
Kan ik de paginagrootte en oriëntatie van de PDF regelen?
Pagina-instellings-eigenschappen (grootte, oriëntatie, marges) van het brondocument worden behouden in de PDF. Wijzig PageSetup op de Document secties voordat u opslaat om deze waarden te wijzigen.
API Reference Samenvatting
| Klasse / Methode | Beschrijving |
|---|---|
PdfSaveOptions | Opties om documenten als PDF op te slaan |
ParagraphRenderer | Rendert LDM-paragrafen naar PDF |
RunRenderer | Rendert opgemaakte runs (tekst met lettertypen, kleuren, links) |
ShapeRenderer | Rendert vormen, afbeeldingen en gepositioneerde elementen |
TableRenderer | Rendert LDM-tabellen naar PDF |
SaveFormat.PDF | Constante voor PDF-opslagformaat |
LdmPdfWriter().write(doc, path) | Document opslaan als PDF |