PDFium Delphi Component Docs

מתודת GeneratePagedLayout

Component: TPdf  ·  Units: PDFium, FPdfLayout

Syntax

function GeneratePagedLayout(Layout: TPdfLayoutDocument; PagedPlan: TPdfLayoutPagedPlan; out Plan: TPdfLayoutPlan; AllowSignedDocument: Boolean = False): Boolean;

Description

מודד ומפצל לעמודים את הפריסה תוך כדי סידור כל פקודה אל האחסון בר-הדפדוף ש-PagedPlan מחזיק בו או מפנה אליו

לאחר המדידה, המתודה מממשת בכל פעם מערך פקודות של עמוד אחד, פולטת את אותו עמוד דרך אותן API מקוריות של אובייקטי עמוד של PDFium כמו GenerateLayout, מרעננת אותו לאחסון, משחררת את המערך המקומי וממשיכה לעמוד הבא

Storage and cache

השתמשו ב-TFileStream, TMemoryStream או TPdfRandomAccessStore ייעודיים; על הזרם לתמוך ב-seek, בקריאה, בכתיבה, בשינוי גודל ובשימוש בלעדי למשך חיי התוכנית המפוצלת לעמודים

MaxCommandCount, MaxStorageBytes, MaxPageCommands ו-MaxSourceCount דוחים תוכניות מוגזמות, ואילו MaxCachedPages חוסם את מטמון ה-LRU הפנימי ויכול להיות אפס

CommandCount, StorageByteCount, מוני המטמון והתפוסה השיא חושפים התנהגות ניתנת למדידה

Result

Plan.Commands ריק בכוונה; הגדרות העמודים, מספר העמודים, האלמנטים הסמנטיים, ספירות התוכן, המדידות וסכומי הפניות העמודים היציבים נשארים זמינים

PagedPlan.MaterializePage יכול לשחזר עמוד מלא מאוחר יותר, כולל הגוף וכן מקטעי כותרת עליונה ותחתונה שנכתבו בנפרד

Limitations and safety

המתודה מייצרת פריסה ללא תיוג; השתמשו ב-GenerateTaggedLayout כאשר נדרשת תוכנית פקודות מלאה בזיכרון ועיבוד מאוחר של עץ המבנה

PDFium מחזיק את המסמך שנוצר ואת עמודיו המקוריים עד לשמירה או סגירה, ולכן ה-API הזה מגביל את המימוש של פקודות ברמה הגבוהה ולא את זיכרון המסמך של PDFium

כל PDF מקור מופנה או TPdfLayoutCachedNode חייבים להתקיים מעבר ליצירה ולמימוש המאוחר, ויעדים חתומים דורשים הרשאה מפורשת

כישלון מדידה או פליטה מאפס את אחסון הפקודות החלקי ומבצע rollback לכל עמוד שהקריאה הוסיפה

See Also

GenerateLayout, GenerateTaggedLayout, FPdfLayout, אחסון עבודה בגישה אקראית