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
RenderModelBuilderquando devi creare un documento a partire da primitive di disegno. - Usa
PdfWritercon unRenderDocumentper la generazione di PDF personalizzati senza un file sorgente. - L’accesso ai pixel di
RasterSurfaceè disponibile tramiteget_pixel()eset_pixel().
API Reference Riepilogo
| Classe / Metodo | Descrizione |
|---|---|
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.width | Larghezza della superficie in pixel |
RasterSurface.height | Altezza della superficie in pixel |