Uvod u članak
Osim visokog razine, PsDocument i u članku 1. XpsDocument Sljedeći članakSlužbenici: Python izložava skup nižih korisnih programa za stvaranje render dokumenata, pisanje PDF-ova. Ovi su korisnici internno korišteni za XPS pakete. To je vrlo korisno za sve klase, a može se koristiti direktno i kada vam treba precizna kontrola nad svim vrstama. izlaz.
Ovaj članak obuhvaća: RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer, i XpsDocumentBuilder zajedničke komponente koje se dijele u PS, EPS i XPS cijevi.
Izrada renderskog dokumenta
RenderModelBuilder konstruira RenderDocument postupno pozivajući životni ciklus stranice Počnite s stranicom: begin_page(), dodati naredbe crtanja, a zatim pozvati end_page(). Zovi me. document() Da se vrati završenog 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()
Dostupne metode crtanja uključuju: add_path(), add_text(), add_image(), clip(), save_state(), i restore_state().Nazovi. set_default_page_size() prije begin_page() za utvrđivanje podrazumevane veličine koja se primjenjuje na sve sljedeće stranice.
Pisanje dokumenta za renderiranje na PDF
PdfWriter prihvaćaju: PdfMetadata primjer i serijalizira a RenderDocument u PDF 1.4 Predajte a. PdfMetadata predmet s: title, creator, producer, creation_date, mod_date, i trapped polja, zatim pozivati write(doc) da proizvede proizvod.
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)
Raster renderizacija
RasterRenderer daje: RenderDocument u iznosu od: RasterSurface RGBA piksela u memoriji -Poboljšanje. RasterSurface sadrži: get_pixel() i u članku 1. set_pixel() za direktne piksele pristup, zajedno s: width i u članku 1. height To je osnovni mehanizam koji se koristi za određivanje vrijednosti i kvalitete. od strane: to_image() na oba PsDocument i u članku 1. XpsDocument prilikom proizvodnje izdanja PNG ili 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 dokumenta programski kreirati
XpsDocumentBuilder pruža API na visokom nivou za izgradnju XPS paketa s customom stranice i metapodatke. create_page() da dodate stranice, a zatim pozvati to_document() za dobivanje i to je XpsDocument To se može dalje izvoziti u PDF ili raster slike.
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)