Общие инструменты для рендеринга
Общие инструменты для рендеринга
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 | Высота поверхности в пикселях |