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
PdfWriterwraz zRenderDocumentdo generowania niestandardowych plików PDF bez pliku źródłowego. - Dostęp do pikseli
RasterSurfacejest możliwy poprzezget_pixel()iset_pixel().
API Reference Podsumowanie
| Klasa / Metoda | Opis |
|---|---|
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.width | Szerokość powierzchni w pikselach |
RasterSurface.height | Wysokość powierzchni w pikselach |