Introduction
Yüksek seviyede de PsDocument ve XpsDocument Sınıflar, Aspose.Page FOSS için Python, yapılandırma belgeleri için düşük düzeyde bir dizi araç sunar, PDF yazar. çıkış, ve XPS paketleri ile çalışmak programlı. bu araçlar içeride kullanılır Yüksek düzeyde sınıflar tarafından ve ayrıca doğrudan kullanılabilir, doğru kontrol gerektirir Üretimi için .
Bu makaleyi kapsıyor RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer,ve XpsDocumentBuilder — PS, EPS ve XPS boru hattı üzerinden ortak bileşenler.
Render belgesini oluşturmak
RenderModelBuilder A inşaat RenderDocument sayfa ömrü ile artan çağrı Yöntemler: Bir sayfa ile başlatın begin_page(), çizme komutları ekleyin, sonra arama end_page(). Call document() tamamlanmış olanı geri almak için 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()
mevcut tasarım yöntemleri de dahil olmak üzere add_path(), add_text(), add_image(), clip(), save_state(),ve restore_state().Çağrı set_default_page_size() Önceki begin_page() Tüm sonraki sayfalar için geçerli olan varsayılan boyutu ayarlamak.
Bir Render Belgeyi PDF’ye Yazmak
PdfWriter kabul eder a PdfMetadata Seriye ve serializasyon A RenderDocument PDF 1.4 için Bütte. geç A PdfMetadata nesne ile title, creator, producer, creation_date, mod_date,ve trapped arama alanları, sonra çağrı write(doc) Üretimi üretmek için.
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 Rendering Hakkında
RasterRenderer A’ya teslim RenderDocument A için RasterSurface - Hafıza içi RGBA piksel buffer. o RasterSurface sağlar get_pixel() ve set_pixel() Doğrudan Pixel için erişim ile birlikte, width ve height Bu mekanizma, kullanılan temel mekanizmadır. tarafından to_image() İkisi de PsDocument ve XpsDocument PNG veya JPEG üretimi.
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 belgelerini programlı olarak oluşturun
XpsDocumentBuilder Yüksek düzeyde bir API sağlar, özelleştirilmiş XPS paketleri oluşturmak için Metadata ve metapaylar. kullanımı create_page() sayfaları eklemek için, sonra arama to_document() elde etmek için Bir XpsDocument Bu görüntü PDF veya raster görüntüleri için daha fazla ihraç edilebilir.
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)