Utility di rendering comuni

Utility di rendering comuni

Utility di Rendering Comuni

Aspose.Page FOSS per Python espone un insieme di utility di rendering di livello inferiore utilizzate internamente da PsDocument e XpsDocument. Questi componenti possono essere usati direttamente quando è necessario un controllo preciso sull’output.


RenderModelBuilder

RenderModelBuilder costruisce un RenderDocument in modo incrementale. Chiama begin_page() per avviare una pagina, aggiungere comandi di disegno, poi chiama end_page(). Chiama document() per recuperare il RenderDocument completato.

from aspose.page.render.model import RenderModelBuilder

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

Metodi di disegno disponibili: add_path(), add_text(), add_image(), clip(), save_state() e restore_state().


PdfWriter

PdfWriter serializza un RenderDocument in PDF 1.4 byte. Richiede un PdfMetadata istanza. Vedi PDF Output per i dettagli.


RasterRenderer

RasterRenderer rende un RenderDocument in un RasterSurface — un buffer di pixel RGBA in memoria. Il RasterSurface fornisce get_pixel(), set_pixel(), width e height.

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"Pixels: {surface.width}x{surface.height}")

Suggerimenti e migliori pratiche

  • Usa RenderModelBuilder quando devi creare un documento a partire da primitive di disegno.
  • Usa PdfWriter con un RenderDocument per la generazione di PDF personalizzati senza un file sorgente.
  • L’accesso ai pixel di RasterSurface è disponibile tramite get_pixel() e set_pixel().

API Reference Riepilogo

Classe / MetodoDescrizione
RenderModelBuilder.begin_page(width, height)Avvia una nuova pagina
RenderModelBuilder.end_page()Finalizza la pagina corrente
RenderModelBuilder.document()Recupera il RenderDocument completato
PdfWriter.write(document)Serializza RenderDocument in byte PDF
RasterRenderer.render(document, page_index)Renderizza una pagina in RasterSurface
RasterSurface.widthLarghezza della superficie in pixel
RasterSurface.heightAltezza della superficie in pixel

Vedi anche

 Italiano