PDFium Delphi Component Docs

BuildReflowDocument metodă

Component: TPdf  ·  Unit: PDFium
Construiește un model de citire semantic mărginit pentru HTML receptiv, citire mobilă, accesibilitate și indexare

Syntax

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

Description

BuildReflowDocument citește fiecare pagină selectată prin GetStructuredText, preferă semantica Tagged PDF și cade pe inferența aspectului fizic atunci când structura lipsește

Vectorul TPdfReflowDocument.Nodes returnat este un arbore stabil în pre-ordine, cu ParentIndex și Depth, care evită proprietatea recursivă păstrând în același timp relațiile de pagină, titlu, paragraf, listă, figură, legendă, tabel, rând și celulă

Fiecare TPdfReflowNode poartă pagina sa, textul, limba, sursa semantică, limitele, nivelul titlului, coordonatele de tabel RowIndex și ColumnIndex împreună cu intervalele lor aferente, starea IsHeader și gradul de încredere acolo unde se aplică

TPdfReflowOptions selectează fereastra de pagini și porțile de ieșire; DetectTables activează detectarea tabelelor prin înregistrarea de buget imbricată TableOptions, iar TPdfReflowDocument-ul rezultat expune TableCount-ul detectat alături de arborele său de noduri

Textul tabelelor detectate înlocuiește blocurile de paragraf suprapuse, astfel încât rezultatul reformata nu duplică conținutul tabelelor

HTML output

TPdfReflowDocument.ToHtml emite elemente semantice h1 până la h6, p, ul, li, figure, figcaption, table, th și td

Valorile text și ale atributelor sunt întotdeauna escapate, intervalele de rânduri și coloane sunt păstrate, iar CSS-ul receptiv opțional nu necesită script sau resurse externe

FullDocument, IncludeCss, IncludePageSections, IncludeGeometry și PreserveLineBreaks controlează serializarea fără a re-analiza PDF-ul

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