Introdução
Além do alto nível de cooperação, a Comissão tem também um papel importante a desempenhar. PsDocument e a) XpsDocument classes, Aspose.Página FOSS para Python expõe um conjunto de utilitários de nível inferior para a construção de documentos render, escrita PDF Output, e trabalhando com pacotes XPS programaticamente. Estes utilitários são usados internamente O sistema de gestão da informação é um instrumento que pode ser utilizado directamente quando se necessita de controlo preciso sobre a comunicação e o trabalho. a saída.
Este artigo abrange: RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer, e XpsDocumentBuilder os componentes comuns compartilhados entre as pipelines PS, EPS e XPS.
Construir um documento de renderização
RenderModelBuilder construção de um RenderDocument incrementalmente, chamando o ciclo de vida da página. Comece uma página com: begin_page(), adicionar comandos de desenho, em seguida, chamar end_page(). Chama-me . document() para recuperar o ficheiro completado. 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()
Os métodos de desenho disponíveis incluem: add_path(), add_text(), add_image(), clip(), save_state(), e restore_state().- Ligue. set_default_page_size() antes de begin_page() Para estabelecer um tamanho padrão que se aplica a todas as páginas subsequentes.
Escrever um documento de renderização para PDF
PdfWriter aceita um PdfMetadata instância e serializa um RenderDocument para o PDF 1.4 Passar um PdfMetadata objeto com title, creator, producer, creation_date, mod_date, e trapped campos, em seguida, chamar write(doc) para produzir a saída.
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)
Render de raster
RasterRenderer Rende um RenderDocument a uma RasterSurface um pixel RGBA em memória O amortecedor. RasterSurface fornece: get_pixel() e a) set_pixel() para pixel direto acesso, juntamente com: width e a) height Esta é a base do mecanismo utilizado para determinar o valor de uma determinada quantidade de energia. por: to_image() em ambos os lados PsDocument e a) XpsDocument quando produzem um formato PNG ou 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}")
Construir documentos XPS de forma programática
XpsDocumentBuilder fornece uma API de alto nível para a construção de pacotes XPS com customizado Páginas e metadados. create_page() para adicionar páginas, em seguida, chamar to_document() para obter e um XpsDocument que podem ser exportados para imagens PDF ou raster.
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)