property PageObjectsSnapshot[PageNumber: Integer]: TPdfPageObjectsSnapshot; // read only
type TPdfPageObjectsSnapshot = record
PageNumber: Integer;
Width: Double;
Height: Double;
Status: TPdfPageObjectSnapshotStatus;
Objects: TPdfPageObjectSnapshots;
end;
| PageNumber | Integer. אינדקס עמוד המתחיל מ־1 בתוך המסמך הטעון |
| Status | TPdfPageObjectSnapshotStatus. דגל השלמה, מספרי אובייקטים שנסרקו, ודגלי התקורה שנחצו |
| Objects | רקורדים לכל אובייקט, עם סוג, גבולות, טרנספורמציה, צבעים, מערכי קו מקווקו, קטעי מסלול ו־clipping, סימוני תוכן, מטא־דאטה של תמונה, וטקסט חסום |
הגישה הראשונה לעמוד לוכדת את הסנאפשוט עם התקורות של TPdfPageObjectSnapshotOptions.Default. העמוד הפעיל נקרא דרך ה־handles הטעונים שלו, וכל עמוד אחר נטען ונסגר באופן זמני, בלי לשנות את PageNumber ובלי להפעיל את OnPageChange
כל גישה מחזירה עותק עמוק, כך ששינוי של מערכי קו מקווקו מקוננים, פרמטרי סימון, קטעי מסלול, clipping paths, מסננים או מחרוזות אינו יכול לשנות את הנתונים בקאש או את המסמך
סנאפשוטים שהושלמו נשמרים בקאש החסום המתואר על ידי PageObjectSnapshotCacheCapacity ונמדדים מול CacheBudgetBytes, ו־PageComplexity עושה שימוש חוזר בקאש הזה עבור סוגי אובייקטים, מספרי מסלולים, פיקסלי תמונה ושקיפות
קריאה בלי מסמך פעיל מעלה EPdfError, ו־PageNumber שנמצא מחוץ לטווח מ־1 עד PageCount מעלה EPdfError עם ההודעה Incorrect page number
השתמשו ב־ReadPageObjectsSnapshot עבור תקורות לכידה מותאמות אישית, או כדי לעקוף את הקאש בכוונה
Snapshot := Pdf.PageObjectsSnapshot[PageNumber];
for I := 0 to High(Snapshot.Objects) do
if Snapshot.Objects[I].ObjectType = otImage then
LogImageObject(I);