PDFium Delphi Component Docs

BuildReflowDocument メソッド

コンポーネント: TPdf  ·  ユニット: PDFium
レスポンシブ HTML、モバイル読書、アクセシビリティ、インデックス作成のために、上限付きのセマンティック読み取りモデルを構築します

構文

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

説明

BuildReflowDocument は選択されたすべてのページを GetStructuredText 経由で読み取り、Tagged PDF のセマンティクスを優先し、構造が存在しない場合は物理レイアウトの推論へフォールバックします

返される TPdfReflowDocument.Nodes 配列は ParentIndexDepth を持つ安定した先行順のツリーで、ページ、見出し、段落、リスト、図、キャプション、表、行、セルの関係を保ちながら、再帰的な所有を避けます

TPdfReflowNode は、ページ、テキスト、言語、セマンティックソース、境界、見出しレベル、スパンを伴う表座標の RowIndexColumnIndexIsHeader 状態、および該当する場合は信頼度を保持します

TPdfReflowOptions はページウィンドウと出力ゲートを選択します。DetectTables は入れ子の TableOptions 予算レコードとともに表検出を有効にし、結果の TPdfReflowDocument は検出された TableCount をノードツリーとともに公開します

検出された表のテキストは重なる段落ブロックを置き換えるため、リフロー結果が表の内容を重複させることはありません

HTML 出力

TPdfReflowDocument.ToHtml は、セマンティックな h1 から h6pullifigurefigcaptiontablethtd の各要素を出力します

テキストと属性値は常にエスケープされ、行と列のスパンは保持され、オプションのレスポンシブ CSS はスクリプトや外部リソースを必要としません

FullDocumentIncludeCssIncludePageSectionsIncludeGeometryPreserveLineBreaks が、PDF を再パースすることなくシリアライズを制御します

範囲と予算

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

関連項目

GetStructuredText, ExtractTables, ReadableContent