PDFium Delphi Component Docs

מתודת BuildReflowDocument

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

Syntax

function BuildReflowDocument(
  const Options: TPdfReflowOptions;
  const CancellationToken: IPdfCancellationToken = nil): TPdfReflowDocument;

Description

BuildReflowDocument קורא כל עמוד נבחר דרך GetStructuredText, מעדיף סמנטיקה של Tagged PDF, ונשען על הסקת פריסה פיזית כאשר המבנה חסר

מערך TPdfReflowDocument.Nodes המוחזר הוא עץ pre-order יציב עם ParentIndex ו-Depth, הנמנע מבעלות רקורסיבית תוך שימור היחסים בין עמודים, כותרות, פסקאות, רשימות, איורים, כתוביות, טבלאות, שורות ותאים

כל TPdfReflowNode נושא את העמוד, הטקסט, השפה, המקור הסמנטי, התחומים ורמת הכותרת שלו, את קואורדינטות הטבלה RowIndex ו-ColumnIndex עם ה-spans שלהן, את מצב IsHeader, ורמת ביטחון כשרלוונטי

TPdfReflowOptions בוחר את חלון העמודים ושערי הפלט; DetectTables מפעיל זיהוי טבלאות עם record התקציב המקונן TableOptions, וה-TPdfReflowDocument המתקבל חושף את ה-TableCount שזוהה לצד עץ הצמתים שלו

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

HTML output

TPdfReflowDocument.ToHtml פולט אלמנטים סמנטיים h1 עד h6, p, ul, li, figure, figcaption, table, th ו-td

ערכי טקסט ומאפיינים תמיד מוגנים (escaped), spans של שורות ועמודות נשמרים, ו-CSS רספונסיבי אופציונלי אינו דורש סקריפט או משאב חיצוני

FullDocument, IncludeCss, IncludePageSections, IncludeGeometry ו-PreserveLineBreaks שולטים בסריאליזציה מבלי לנתח מחדש את ה-PDF

Ranges and budgets

Example

var
  Options: TPdfReflowOptions;
  Document: TPdfReflowDocument;
begin
  Options := TPdfReflowOptions.Default;
  Options.IncludeGeometry := True;
  Document := Pdf1.BuildReflowDocument(Options);
  Memo1.Text := Document.ToHtml;
end;

See Also

GetStructuredText, ExtractTables, ReadableContent