Introduction

A més de l’alt nivell d’actuació, la Comissió ha presentat una proposta de resolució. PsDocument i de la XpsDocument classes, Aspose.Page FOSS per a la Python exposa un conjunt d’utilitats de nivell inferior per a la construcció de documents de renderizació, escriptura PDF. Aquestes utilitats s’utilitzen internament per a la seva implementació. per les classes d’alt nivell i també es pot utilitzar directament quan necessita un control precís sobre la seva capacitat de reproducció. la sortida.

Aquest article abasta: RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer, i XpsDocumentBuilder els components comuns compartides entre les pipelines PS, EPS i XPS.


Creació d’un document de renderizació

RenderModelBuilder construeix un RenderDocument incrementalment cridant al cicle de vida de la pàgina Metòdes. Començar una pàgina amb begin_page(), afegir comandaments de dibuix, després cridar end_page(). Call document() per recuperar el completat RenderDocument.

from aspose.page.render.model import RenderModelBuilder

builder = RenderModelBuilder()
builder.begin_page(595, 842)
# add paths, text, images here
builder.end_page()
doc = builder.document()

Els mètodes de dibuix disponibles inclouen: add_path(), add_text(), add_image(), clip(), save_state(), i restore_state().- Truca. set_default_page_size() abans begin_page() per establir una mida predeterminada que s’aplica a totes les pàgines posteriors.


Escriure un document de renderizació en PDF

PdfWriter accepta una PdfMetadata instància i serialitza un RenderDocument a PDF 1.4 Passar un bytes. PdfMetadata objecte amb title, creator, producer, creation_date, mod_date, i trapped camps, després crida write(doc) per produir la sortida.

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="My Document",
    creator="My App",
    producer="Aspose.Page FOSS for Python",
    creation_date="D:20260609000000",
    mod_date="D:20260609000000",
    trapped=False,
)
writer = PdfWriter(metadata)
pdf_bytes = writer.write(doc)
Path("output.pdf").write_bytes(pdf_bytes)

Renderizació de rasters

RasterRenderer dóna un RenderDocument a una RasterSurface un píxel RGBA en memòria. El buffer. RasterSurface proporciona: get_pixel() i de la set_pixel() per a píxels directes l’accés, juntament amb width i de la height Aquest és el mecanisme subjacent utilitzat per a la detecció de les propietats del sistema. per: to_image() en ambdues. PsDocument i de la XpsDocument en la producció de PNG o JPEG.

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(f"Surface size: {surface.width}x{surface.height}")

Construir documents XPS de forma programàtica

XpsDocumentBuilder proporciona una API d’alt nivell per a la construcció de paquets XPS amb personalitzat Pages i metadades. create_page() per afegir pàgines, després cridar to_document() obtenir un XpsDocument que es pot exportar a imatges PDF o raster.

from aspose.page.xps.document import XpsDocument

xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)

Com començar a treballar

Recursos relacionats