PDFium Delphi Component Docs

מאפיין TextPageSnapshot

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

Syntax

property TextPageSnapshot[PageNumber: Integer]: TPdfTextPageSnapshot; // read only

 

type TPdfTextPageSnapshot = record
  PageNumber: Integer;
  Width: Double;
  Height: Double;
  Status: TPdfTextSnapshotStatus;
  Text: WString;
  Characters: TPdfTextCharacterSnapshots;
  TextObjects: TPdfTextObjectSnapshots;
end;

PageNumberInteger. אינדקס עמוד החל מ-1 בתוך המסמך הטעון
StatusTPdfTextSnapshotStatus. דגל השלמה, ספירות ביקור, מוני אי-מיפוי וכשל, ודגלי התקציב שהופעלו
TextWString. טקסט העמוד שחולץ בסדר המקורי של PDFium
Charactersרשומות לכל תו עם נקודת קוד, אינדקסים, תחומים, נקודת מוצא, זווית, גודל גופן, צבעים ונתוני מטריצה
TextObjectsרשומות לכל אובייקט טקסט עם טווחי תווים, שם גופן, דגלים, משקל ומצב רינדור

Description

הגישה הראשונה לעמוד לוכדת את תמונת המצב עם תקציבי TPdfTextSnapshotOptions.Default: מיליון תווים, מאה אלף אובייקטי טקסט ותקציב שם גופן של 16 MiB. העמוד הפעיל נקרא דרך ה-handles הטעונים שלו, וכל עמוד אחר נטען ונסגר באופן חולף מבלי לשנות את PageNumber או להפעיל את OnPageChange

כל גישה מחזירה עותק עמוק, ולכן שינוי של מחרוזת או מערך בבעלות הקורא אינו יכול לשנות את תמונת המצב במטמון או את ה-PDF

תמונות מצב שהושלמו נשמרות במטמון החסום ש-TextSnapshotCacheCapacity מתאר ונמדדות מול CacheBudgetBytes, ו-GetStructuredText וגם GetTextInReadingOrder בפריסה פיזית עושים שימוש חוזר באותה תמונת מצב

Remarks

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

השתמש ב-ReadTextPageSnapshot עבור תקציבי לכידה מותאמים אישית או כדי לעקוף את המטמון במכוון

Example

Snapshot := Pdf.TextPageSnapshot[PageNumber];
if Snapshot.Status.Completed then
  LogCharacterCount(Length(Snapshot.Characters));

See Also

TextSnapshotCacheCapacity, TextSnapshotCacheCount, TextPageSnapshots, GetStructuredText, TPdfView.TextPage