PDFium Delphi Component Docs

מאפיין PageObjectsSnapshot

Component: TPdf  ·  Unit: PDFium
מחזיר את הסנאפשוט החסום השמור בקאש של כל האובייקטים בעמוד אחד, כרקורדים מנוהלים

Syntax

property PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshot; // read only

 

type TPdfPageObjectsSnapshot = record
  PageNumber: Integer;
  Width: Double;
  Height: Double;
  Status: TPdfPageObjectSnapshotStatus;
  Objects: TPdfPageObjectSnapshots;
end;

PageNumberInteger. אינדקס עמוד המתחיל מ־1 בתוך המסמך הטעון
StatusTPdfPageObjectSnapshotStatus. דגל השלמה, מספרי אובייקטים שנסרקו, ודגלי התקורה שנחצו
Objectsרקורדים לכל אובייקט, עם סוג, גבולות, טרנספורמציה, צבעים, מערכי קו מקווקו, קטעי מסלול ו־clipping, סימוני תוכן, מטא־דאטה של תמונה, וטקסט חסום

Description

הגישה הראשונה לעמוד לוכדת את הסנאפשוט עם התקורות של TPdfPageObjectSnapshotOptions.Default. העמוד הפעיל נקרא דרך ה־handles הטעונים שלו, וכל עמוד אחר נטען ונסגר באופן זמני, בלי לשנות את PageNumber ובלי להפעיל את OnPageChange

כל גישה מחזירה עותק עמוק, כך ששינוי של מערכי קו מקווקו מקוננים, פרמטרי סימון, קטעי מסלול, clipping paths, מסננים או מחרוזות אינו יכול לשנות את הנתונים בקאש או את המסמך

סנאפשוטים שהושלמו נשמרים בקאש החסום המתואר על ידי PageObjectSnapshotCacheCapacity ונמדדים מול CacheBudgetBytes, ו־PageComplexity עושה שימוש חוזר בקאש הזה עבור סוגי אובייקטים, מספרי מסלולים, פיקסלי תמונה ושקיפות

Remarks

קריאה בלי מסמך פעיל מעלה EPdfError, ו־PageNumber שנמצא מחוץ לטווח מ־1 עד PageCount מעלה EPdfError עם ההודעה Incorrect page number

השתמשו ב־ReadPageObjectsSnapshot עבור תקורות לכידה מותאמות אישית, או כדי לעקוף את הקאש בכוונה

Example

Snapshot := Pdf.PageObjectsSnapshot[PageNumber];
for I := 0 to High(Snapshot.Objects) do
  if Snapshot.Objects[I].ObjectType = otImage then
    LogImageObject(I);

See Also

PageObjectSnapshotCacheCapacity, PageObjectSnapshotCacheCount, PageObjectSnapshots, PageObjectInfo, PageComplexity