Wspólne narzędzia renderowania

Wspólne narzędzia renderowania

Wspólne Narzędzia Renderowania

Aspose.Page FOSS dla Python udostępnia zestaw niższego poziomu narzędzi renderowania używanych wewnętrznie przez PsDocument i XpsDocument. Te komponenty mogą być również używane bezpośrednio, gdy potrzebna jest precyzyjna kontrola nad wynikiem.


RenderModelBuilder

RenderModelBuilder buduje RenderDocument stopniowo. Wywołaj begin_page(), aby rozpocząć stronę, dodać polecenia rysowania, a następnie wywołaj end_page(). Wywołaj document(), aby pobrać ukończony RenderDocument.

from aspose.page.render.model import RenderModelBuilder

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

Dostępne metody rysowania: add_path(), add_text(), add_image(), clip(), save_state() i restore_state().


PdfWriter

PdfWriter serializuje RenderDocument do PDF 1.4 bajtów. Wymaga PdfMetadata instancji. Zobacz Wyjście PDF szczegóły.


RasterRenderer

RasterRenderer renderuje RenderDocument do RasterSurface — bufora pikseli RGBA w pamięci. RasterSurface zapewnia get_pixel(), set_pixel(), width i 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}")

Wskazówki i najlepsze praktyki

  • Użyj RenderModelBuilder, gdy potrzebujesz zbudować dokument z prymitywów rysunkowych.
  • Użyj PdfWriter wraz z RenderDocument do generowania niestandardowych plików PDF bez pliku źródłowego.
  • Dostęp do pikseli RasterSurface jest możliwy poprzez get_pixel() i set_pixel().

API Reference Podsumowanie

Klasa / MetodaOpis
RenderModelBuilder.begin_page(width, height)Rozpocznij nową stronę
RenderModelBuilder.end_page()Zakończ bieżącą stronę
RenderModelBuilder.document()Pobierz ukończony RenderDocument
PdfWriter.write(document)Serializuj RenderDocument do bajtów PDF
RasterRenderer.render(document, page_index)Renderuj stronę do RasterSurface
RasterSurface.widthSzerokość powierzchni w pikselach
RasterSurface.heightWysokość powierzchni w pikselach

Zobacz także

 Polski