function GetStructuredText(
const Options: TPdfStructuredTextOptions): TPdfStructuredTextPage;
GetStructuredText קורא סקלרים של Unicode, תיבות תווים, גודל גופן, משקל גופן, שם גופן, זווית וזהות אובייקט טקסט דרך ממשקי הטקסט המובנים של PDFium
תווים הופכים לקטעים מעוצבים (styled spans), קטעים הופכים לשורות פיזיות, שורות בעלות קשר אופקי הופכות לבלוקים, וטקסט הבלוק מחובר לשדה Text ברמת העמוד
כל סקלר מקורי נשמר כ-UTF-16, כולל תווים מהמישור המשלים המיוצגים באמצעות צמדי surrogates
ReadingOrder — roPhysicalLayout מקבץ גיאומטריה מלמעלה למטה ומשמאל לימין; roContentOrder שומר על סדר הרצף המקורי של ה-content streamIncludeFontInfo — כולל שם גופן, גודל, משקל וזווית בכל קטע, ברירת המחדל היא TrueIncludeSemantics — ממפה את מודל ה-Tagged PDF הקיים או את מודל התוכן הקריא ההיוריסטי לכל בלוק, ברירת המחדל היא TrueMaxCharacters — תקציב תווים לעמוד בגישת fail-closed, ברירת המחדל היא 1000000| Record | Key data |
|---|---|
TPdfStructuredTextPage | PageNumber, Width ו-Height, מספר התווים ומספר הכשלים, Source, Text המשולב ו-Blocks |
TPdfStructuredTextBlock | Bounds, טקסט, סוג מבנה, רמת כותרת, שפה, מקור, אינדקס רכיב המבנה ושורות |
TPdfStructuredTextLine | Bounds, טקסט משולב וקטעים מעוצבים |
TPdfStructuredTextSpan | Text, Bounds, הטווח של SourceStartIndex ו-SourceCharacterCount, FontName, FontSize, FontWeight ו-Angle |
Kind, HeadingLevel, Language, Source ו-StructElementIndexUnmappedCharacterCount סופר מיפויי אפס מקוריים שהוחלפו ב-U+FFFDGeometryFailureCount סופר תווי non-break ללא תיחום מקורי שמיש, תוך שמירה על הטקסט שלהםהסדור הפיזי משתמש במיון תווים בסיבוכיות O(n log n), במאגרי שורות וקטעים הגדלים גיאומטרית, בבניית UTF-16 באמצעות חיץ ובמטמון גופנים לאובייקטי טקסט לא ריקים סמוכים
הגדר את IncludeFontInfo או את IncludeSemantics ל-False כאשר שכבות ההעשרה האלה אינן נחוצות
var
Options: TPdfStructuredTextOptions;
Page: TPdfStructuredTextPage;
begin
Options := TPdfStructuredTextOptions.Default;
Options.MaxCharacters := 250000;
Page := Pdf1.GetStructuredText(Options);
Memo1.Text := Page.Text;
end;