How to Use Common Rendering Utilities in Python

How to Use Common Rendering Utilities in Python

How to Use Common Rendering Utilities in Python

RenderModelBuilder, PdfWriter, and RasterRenderer are the low-level rendering components shared across all Aspose.Page FOSS conversion pipelines. Use RenderModelBuilder to construct a RenderDocument programmatically, then pass it to PdfWriter or RasterRenderer to produce PDF bytes or a RasterSurface respectively.

Build a RenderDocument

from aspose.page.render.model import RenderModelBuilder

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

Write to PDF

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

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

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

Render to RasterSurface

from aspose.page.render.model import RenderModelBuilder
from aspose.page.image.raster_renderer import RasterRenderer

builder = RenderModelBuilder()
builder.begin_page(400, 300)
builder.end_page()
doc = builder.document()

renderer = RasterRenderer()
surface = renderer.render(doc, page_index=0)
print(surface.width, surface.height)

See Also