How to Export Documents to PDF in Python
Aspose.Words FOSS for Python exports loaded Word documents to PDF through a built-in rendering pipeline. The library reads DOCX, DOC, RTF, TXT, and Markdown as input formats; PDF is an output-only format.
Basic PDF Export
PDF is an export-only format. Save the document to PDF using LdmPdfWriter:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
doc = aw.Document("report.docx")
LdmPdfWriter().write(doc, "report.pdf")LdmPdfWriter always produces PDF output, regardless of the output path’s extension. The PDF writer preserves text formatting, tables, images, and page layout from the source document.
Using PdfSaveOptions
For finer control over PDF output, pass a PdfSaveOptions instance to the writer’s constructor:
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")Batch Conversion
Convert multiple files in a loop:
import aspose.words_foss as aw
from aspose.words_foss.pdf_writer import LdmPdfWriter
from pathlib import Path
writer = LdmPdfWriter()
for src in Path("docs/").glob("*.docx"):
doc = aw.Document(str(src))
writer.write(doc, str(src.with_suffix(".pdf")))
print(f"Converted {src.name}")