PDFium Delphi Component Docs

BuildReflowDocument metode

Komponent: TPdf  ·  Enhed: PDFium
Bygger en afgrænset semantisk læsemodel til responsiv HTML, mobil læsning, tilgængelighed og indeksering

Syntax

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

Description

BuildReflowDocument læser hver valgt side gennem GetStructuredText, foretrækker Tagged PDF-semantik og falder tilbage til inferens fra det fysiske layout, når der ikke findes struktur

Det returnerede TPdfReflowDocument.Nodes-array er et stabilt pre-order-træ med ParentIndex og Depth, der undgår rekursivt ejerskab, mens relationerne mellem side, overskrift, afsnit, liste, figur, billedtekst, tabel, række og celler bevares

Hver TPdfReflowNode bærer sin side, tekst, sprog, semantiske kilde, grænser, overskriftsniveau, tabelkoordinaterne RowIndex og ColumnIndex med deres spans, IsHeader-tilstanden og en konfidensværdi, hvor det er relevant

TPdfReflowOptions vælger sidenvinduet og outputbegrænsningerne; DetectTables aktiverer tabelgenkendelse med den indlejrede budgetrecord TableOptions, og den resulterende TPdfReflowDocument eksponerer det detekterede TableCount ved siden af sit nodetræ

Tekst fra detekterede tabeller erstatter overlappende afsnitsblokke, så det ombrudte resultat ikke duplicerer tabelindholdet

HTML output

TPdfReflowDocument.ToHtml udsender de semantiske elementer h1 til h6, p, ul, li, figure, figcaption, table, th og td

Tekst og attributværdier escapes altid, række- og kolonnespans bevares, og den valgfrie responsive CSS kræver hverken script eller eksterne ressourcer

FullDocument, IncludeCss, IncludePageSections, IncludeGeometry og PreserveLineBreaks styrer serialiseringen uden at PDF'en skal parses forfra

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