הכניסה

בנוסף לרמה הגבוהה PsDocument ו XpsDocument עמוד הביתמגוון עותקים - עמודים למגדל Python מציג קבוצה של כלים ברמה נמוכה יותר לבניית מסמכים, כתיבת PDF יצוא, ועבודה עם חבילות XPS בתכנית.העזרונות האלה משמשים פנימית על ידי שיעורים ברמה גבוהה וניתן גם להשתמש בהם ישירות כאשר אתה צריך שליטה מדויקת על את הייצור .

מאמר זה מכסה RenderModelBuilder, PdfWriter, PdfMetadata, RasterRenderer, ו XpsDocumentBuilder - המרכיבים המשותפים ששיתפו בין צינורות PS, EPS ו- XPS.


יצירת מסמך רינדרה

RenderModelBuilder בונה A RenderDocument על ידי שיחת מחזור החיים של הדף שיטות: התחל דף עם begin_page(), להוסיף פקודות ציור, ואז להתקשר end_page(). שיחת טלפון 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 מקבלת A PdfMetadata סדרה וסיריאליזציה A RenderDocument PDF 1.4 קובץ A - Pass 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)

רסטה Rendering

RasterRenderer תורם A 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 מספקת API ברמה גבוהה לבניית חבילות XPS עם התאמה אישית עמודים ומטא-נתונים - שימוש create_page() להוסיף עמודים, ולאחר מכן להתקשר to_document() כדי לקבל אנה XpsDocument ניתן לייצא אותם לתוך PDF או תמונות raster.

from aspose.page.xps.document import XpsDocument

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

להתחיל

משאבים קשורים