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 з їхніми span, стан IsHeader та впевненість, де застосовно

TPdfReflowOptions обирає вікно сторінок і вихідні обмеження; DetectTables вмикає виявлення таблиць із вкладеним записом бюджету TableOptions, а результатний TPdfReflowDocument відкриває виявлений TableCount поруч із деревом вузлів

Текст виявлених таблиць замінює перекривні блоки абзаців, тож переформатований результат не дублює вміст таблиць

HTML output

TPdfReflowDocument.ToHtml випромінює семантичні елементи h1h6, p, ul, li, figure, figcaption, table, th і td

Текст і значення атрибутів завжди екрануються, span рядків і стовпців зберігаються, а необов'язковий адаптивний 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