Introduction
उच्च स्तर के अलावा PsDocument और XpsDocument कक्षाएं, Aspose.Page FOSS for Python बनाए रखने के लिए कम स्तर की उपयोगिताओं का एक सेट प्रदर्शित करता है, पीडीएफ लिखता है उत्पादन, और XPS पैकेज के साथ काम प्रोग्राम-प्रोमेटिक. इन उपकरणों का उपयोग आंतरिक रूप से किया जाता है उच्च स्तर के वर्गों द्वारा और सीधे भी उपयोग किया जा सकता है जब आपको सटीक नियंत्रण की आवश्यकता होती है उत्पादन के लिए।.
यह लेख कवर करता है RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer,और XpsDocumentBuilder - PS, EPS और XPS पाइपलाइनों के माध्यम से साझा सामान्य घटकों।.
एक रिलेशनशिप दस्तावेज बनाना
RenderModelBuilder बनाए गए A 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() एक डिफ़ॉल्ट आकार स्थापित करने के लिए जो सभी बाद के पृष्ठों पर लागू होता है।.
एक रेंडर दस्तावेज़ को पीडीएफ में लिखना
PdfWriter स्वीकार करते हैं A PdfMetadata सीरियल और सीरीज A RenderDocument पीडीएफ 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 A के लिए RasterSurface - एक स्मृति RGBA पिक्सेल बूथ - The 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 एक उच्च स्तर के एपीआई प्रदान करता है जो XPS पैकेज को कस्टम के साथ बनाता है पृष्ठ और मेटाडेटा. उपयोग करें create_page() पृष्ठों को जोड़ने के लिए, फिर कॉल करें to_document() प्राप्त करने के लिए एक XpsDocument जो पीडीएफ या रैस्टर छवियों में आगे निर्यात किया जा सकता है।.
from aspose.page.xps.document import XpsDocument
xps = XpsDocument.create("My XPS Document")
page = xps.add_page(595, 842)