Společné nástroje pro vykreslování
Společné vykreslovací utility
Aspose.Page FOSS pro Python poskytuje sadu nízkoúrovňových vykreslovacích utilit používaných interně PsDocument a XpsDocument. Tyto komponenty lze také použít přímo, pokud je potřeba přesná kontrola nad výstupem.
RenderModelBuilder
RenderModelBuilder konstruuje RenderDocument postupně. Zavolejte begin_page() pro zahájení stránky, přidejte vykreslovací příkazy a poté zavolejte end_page(). Zavolejte document() pro získání dokončeného RenderDocument.
from aspose.page.render.model import RenderModelBuilder
builder = RenderModelBuilder()
builder.begin_page(595, 842)
builder.end_page()
doc = builder.document()Dostupné vykreslovací metody: add_path(), add_text(), add_image(), clip(), save_state() a restore_state().
PdfWriter
PdfWriter serializuje RenderDocument do PDF 1.4 bajtů. Vyžaduje PdfMetadata instanci. Viz PDF výstup pro podrobnosti.
RasterRenderer
RasterRenderer vykresluje RenderDocument do RasterSurface — paměťový buffer RGBA pixelů. RasterSurface poskytuje get_pixel(), set_pixel(), width a 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}")Tipy a osvědčené postupy
- Použijte
RenderModelBuilder, když potřebujete vytvořit dokument z kreslicích primitiv. - Použijte
PdfWritersRenderDocumentpro vlastní generování PDF bez zdrojového souboru. - Přístup k pixelům
RasterSurfaceje k dispozici přesget_pixel()aset_pixel().
API Reference Shrnutí
| Třída / Metoda | Popis: |
|---|---|
RenderModelBuilder.begin_page(width, height) | Začít novou stránku |
RenderModelBuilder.end_page() | Dokončete aktuální stránku |
RenderModelBuilder.document() | Získejte dokončený RenderDocument |
PdfWriter.write(document) | Serializujte RenderDocument na PDF bajty |
RasterRenderer.render(document, page_index) | Vykreslete stránku do RasterSurface |
RasterSurface.width | Šířka povrchu v pixelech |
RasterSurface.height | Výška povrchu v pixelech |