Arbeta med PDF Writer
Arbeta med 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.
Basic PDF Export
Spara alla laddade dokument i PDF med hjälp av save() Metod är:
import aspose.words_foss as aw
doc = aw.Document("input.docx")
doc.save("output.pdf")Spara formatet bestäms automatiskt från filändelsen. för explicit kontroll, använd SaveFormat:
doc = aw.Document(“input.doc”) doc.save(“output.pdf”, aw.SaveFormat.PDF)
---
### Användning av PdfSaveOptions
Konfigurera PDF-utgåvan med `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 Rendering Pipeline
PDF-författaren använder fyra specialiserade renderer intern:
| Renderer | Handles |
|---|---|
ParagraphRenderer | Renders LDM-paragrafer till PDF – hanterar anpassning, spacing, indentation |
RunRenderer | Renders formatade körningar – textsegment med tecken, färger och länkar |
ShapeRenderer | Renders former, bilder och positionerade element |
TableRenderer | Renders LDM tabeller – cells gränser, fusioner och padding |
Dessa renderare arbetar tillsammans för att producera den slutliga PDF. Du interagerar med dem indirekt genom Document.save().
Konvertera flera format till PDF
PDF-författaren accepterar input från någon stödd läsare (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}")
---
### Tips och bästa praxis
- Användning `PdfSaveOptions` När du behöver anpassa PDF-utgåvan utöver standard.
- För batchkonvertering, laddning och spara i en loop – renderarna är statösa och återanvändbara över dokument.
- PDF-författaren behåller modig, italiensk, underlinje, fontstorlek och färger från källdokumentet.
- Färgskivor för fälgar (`CellMerge`) är korrekt renderade i PDF-utgåvan.
- Test med representativa dokument innan de sätts in i produktionen – komplexa layouter kan behöva justeras.
---
### Vanliga frågor
| Issue | Cause | Fixar |
| ------------------------ | ---------------------------------- | -------------------------------------------------------------------- |
| Skivor skiljer sig i PDF | Fönster som inte finns på systemet | Installera de nödvändiga tecknen eller använda en teckensnittstämpel |
| Tabeller missriktade | Komplex ställta bordsstrukturer | Enkel bordsskärm i källdokumentet |
| Bilder saknas | Bilddata inte inbäddade i källan | Se till att bilderna är inbyggda, inte extern kopplade |
---
### FAQ
#### Vilka inputformat kan exporteras till PDF?
DOCX, DOC, RTF, TXT och Markdown-filer kan alla laddas upp och sparas som PDF.
#### Stödjer PDF-författaren sidhuvuden och foten?
Huvud och fotar från källdokumentet ingår i PDF-utgåvan när de finns i LDM.
#### Kan jag styra PDF-sidor och orientering?
Sidan inställningsegenskaper (storlek, orientering, marginaler) från källdokumentet bevaras i PDF. `PageSetup` På den `Document` sektioner innan spara för att ändra dessa värden.
---
### API Referens sammanfattning
| Klass / Metod | Beskrivning |
| --------------------- | ------------------------------------------------------------- |
| `PdfSaveOptions` | Alternativ för att spara dokument som PDF |
| `ParagraphRenderer` | Renders LDM-paragrafer till PDF |
| `RunRenderer` | Renders formatade löpningar (text med tecken, färger, länkar) |
| `ShapeRenderer` | Renders former, bilder och positionerade element |
| `TableRenderer` | Renders LDM tabeller i PDF |
| `SaveFormat.PDF` | Konstant för PDF spara formatet |
| `Document.save(path)` | Spara dokumentet i det angivna formatet |
## Se även
- [Aspose.Words for Python — Enterprise Documentation](https://docs.aspose.com/words/python-net/)