Gemeinsame Rendering-Dienstprogramme
Gemeinsame Rendering-Hilfsprogramme
Aspose.Page FOSS für Python stellt eine Reihe von niedrigstufigen Rendering-Hilfsprogrammen bereit, die intern von PsDocument und XpsDocument verwendet werden. Diese Komponenten können auch direkt verwendet werden, wenn eine präzise Kontrolle über die Ausgabe erforderlich ist.
RenderModelBuilder
RenderModelBuilder erstellt ein RenderDocument schrittweise. Rufen Sie begin_page() auf, um eine Seite zu beginnen, fügen Sie Zeichenbefehle hinzu und rufen Sie dann end_page() auf. Rufen Sie document() auf, um das fertiggestellte RenderDocument abzurufen.
from aspose.page.render.model import RenderModelBuilder
builder = RenderModelBuilder()
builder.begin_page(595, 842)
builder.end_page()
doc = builder.document()Verfügbare Zeichenmethoden: add_path(), add_text(), add_image(), clip(), save_state() und restore_state().
PdfWriter
PdfWriter serialisiert ein RenderDocument zu PDF 1.4 Bytes. Es erfordert ein PdfMetadata Instanz. Siehe PDF-Ausgabe für Details.
RasterRenderer
RasterRenderer rendert ein RenderDocument zu einem RasterSurface — ein In-Memory RGBA-Pixelpuffer. Der RasterSurface bietet get_pixel(), set_pixel(), width und 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}")Tipps und bewährte Vorgehensweisen
- Verwenden Sie
RenderModelBuilder, wenn Sie ein Dokument aus Zeichenprimitive erstellen müssen. - Verwenden Sie
PdfWriterzusammen mit einemRenderDocumentfür die benutzerdefinierte PDF-Erstellung ohne Quelldatei. - Der Pixelzugriff von
RasterSurfaceist überget_pixel()undset_pixel()verfügbar.
API Reference Zusammenfassung
| Klasse / Methode | Beschreibung |
|---|---|
RenderModelBuilder.begin_page(width, height) | Eine neue Seite starten |
RenderModelBuilder.end_page() | Schließe die aktuelle Seite ab |
RenderModelBuilder.document() | Rufe das fertiggestellte RenderDocument ab |
PdfWriter.write(document) | Serialisiere RenderDocument in PDF-Bytes |
RasterRenderer.render(document, page_index) | Rendere eine Seite zu RasterSurface |
RasterSurface.width | Breite der Oberfläche in Pixeln |
RasterSurface.height | Höhe der Oberfläche in Pixeln |