Общие инструменты для рендеринга

Общие инструменты для рендеринга

Общие инструменты для рендеринга

Aspose.Page FOSS for Python exposes a set of lower-level rendering utilities used внутренне по PsDocument и в том числе: XpsDocument.Эти компоненты также могут быть использованы непосредственно . когда необходим точный контроль над выходом.


RenderModelBuilder

RenderModelBuilder строит а RenderDocument Постепенно. begin_page() чтобы начать страницу, добавить команды рисования, затем вызвать end_page().- Позвони . document() в) к Восстановление заполненного файла . RenderDocument.

from aspose.page.render.model import RenderModelBuilder

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

Доступные методы рисования: add_path(), add_text(), add_image(), clip(), save_state(), и restore_state().


PdfWriter - писатель

PdfWriter сериализует a RenderDocument PDF 1,4 байта. Это требует PdfMetadata В частности, см. Вывод PDF для подробностей.


RasterRenderer

RasterRenderer делает RenderDocument к а RasterSurface в памяти RGBA. Паксельный буфер. RasterSurface предусматривает: get_pixel(), set_pixel(), width, и 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}")

Советы и лучшие практики

  • Использование: RenderModelBuilder когда нужно создать документ из рисунков примитивных.
  • Использование: PdfWriter с прописью: RenderDocument для создания пользовательских файлов PDF без исходного файла.
  • RasterSurface Пиксельный доступ доступен через: get_pixel() и в том числе: set_pixel().

Справочное резюме API

Класс / методDescription
RenderModelBuilder.begin_page(width, height)Начать новую страницу.
RenderModelBuilder.end_page()Завершить текущую страницу
RenderModelBuilder.document()Получить заполненный RenderDocument
PdfWriter.write(document)Сериализация RenderDocument в PDF байты
RasterRenderer.render(document, page_index)Перейти на страницу RasterSurface
RasterSurface.widthШирина поверхности в пикселях
RasterSurface.heightВысота поверхности в пикселях

See Also

 Русский