PDF Output

PDF Output

PdfWriter serializes a RenderDocument to PDF 1.4 bytes. It requires a PdfMetadata instance that controls the metadata fields embedded in the PDF header.


PdfMetadata

PdfMetadata accepts title, creator, producer, creation_date, mod_date, and trapped parameters. These are embedded in the PDF /Info dictionary.

from aspose.page.pdf.metadata import PdfMetadata

metadata = PdfMetadata(
    title="My Document",
    creator="My Application",
    producer="Aspose.Page FOSS for Python",
    creation_date="D:20260609000000",
    mod_date="D:20260609000000",
    trapped=False,
)

PdfWriter

Instantiate PdfWriter with a PdfMetadata object, then call write(doc) on a RenderDocument to obtain the PDF bytes.

from aspose.page.render.model import RenderModelBuilder
from aspose.page.pdf.writer import PdfWriter
from aspose.page.pdf.metadata import PdfMetadata
from pathlib import Path

builder = RenderModelBuilder()
builder.begin_page(595, 842)
builder.end_page()
doc = builder.document()

metadata = PdfMetadata(
    title="Output",
    creator="App",
    producer="Aspose.Page FOSS for Python",
    creation_date="D:20260609000000",
    mod_date="D:20260609000000",
    trapped=False,
)
writer = PdfWriter(metadata)
Path("output.pdf").write_bytes(writer.write(doc))

Tips and Best Practices

  • Pass a creation_date in PDF format (D:YYYYMMDDHHmmSS) to set a valid creation timestamp.
  • Set producer to identify the generating application in PDF metadata viewers.
  • write() returns bytes — no files are written by PdfWriter itself.

API Reference Summary

Class / MethodDescription
PdfMetadataPDF metadata container (title, creator, producer, dates)
PdfWriter(metadata)Instantiate with PdfMetadata
PdfWriter.write(document)Serialize RenderDocument to PDF bytes

See Also