Introduction

Крім високої освіти, PsDocument і XpsDocument класів, Aspose.Сторінка FOSS для Python викриває набір утилит нижчого рівня для створення документів рендеру, написання PDF-файлів. Вихід, і робота з XPS пакетів програмно. Ці утіліти використовуються внутрішньому вищих класів, а також може бути використано безпосередньо, коли вам потрібен точний контроль над вихід.

Ця стаття охоплює: RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer, і XpsDocumentBuilder спільні компоненти, які діляться між трубопроводами PS, EPS та XPS.


Створення документу для рендеру

RenderModelBuilder конструкція RenderDocument поступово за допомогою покликання життєвого циклу сторінки Методи. Почніть сторінку з: begin_page(), додати команди для малюнку, потім викликати end_page(). Call document() для отримання завершеної RenderDocument.

from aspose.page.render.model import RenderModelBuilder

builder = RenderModelBuilder()
builder.begin_page(595, 842)
# add paths, text, images here
builder.end_page()
doc = builder.document()

Доступні методи черкування включають: add_path(), add_text(), add_image(), clip(), save_state(), і restore_state().Подзвони. set_default_page_size() до цього begin_page() встановлення розміру за замовчуванням, який застосовується до всіх наступних сторінок.


Написання документу для видання на PDF-файлі

PdfWriter приймає PdfMetadata примірник і серіалізує RenderDocument до PDF 1.4 Байти. Пройдіть a PdfMetadata об’єкт з title, creator, producer, creation_date, mod_date, і trapped поля, потім подзвонить write(doc) щоб виробляти вихід.

from aspose.page.render.model import RenderModelBuilder
from aspose.page.pdf.writer import PdfWriter
from aspose.page.pdf.metadata import PdfMetadata
from pathlib import Path

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

metadata = PdfMetadata(
    title="My Document",
    creator="My App",
    producer="Aspose.Page FOSS for Python",
    creation_date="D:20260609000000",
    mod_date="D:20260609000000",
    trapped=False,
)
writer = PdfWriter(metadata)
pdf_bytes = writer.write(doc)
Path("output.pdf").write_bytes(pdf_bytes)

Растрове відтворення

RasterRenderer дає RenderDocument до а RasterSurface піксель RGBA в пам’яті Буфер. RasterSurface передбачає: get_pixel() і set_pixel() для прямого пікселя доступ, разом з width і height Це основний механізм, який використовується для визначення рівня ізоляції. від: to_image() на обох. PsDocument і XpsDocument при створенні PNG або JPEG.

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"Surface size: {surface.width}x{surface.height}")

Створення XPS-документів програмно

XpsDocumentBuilder надає високорівневий API для створення XPS пакетів з персоналізованими сторінки та метадані. create_page() додавати сторінки, потім викликати to_document() отримати і XpsDocument які можуть бути експортовані в PDF або растерних зображеннях.

from aspose.page.xps.document import XpsDocument

xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)

Починати з

Пов’язані ресурси