function GetStructuredText(
const Options: TPdfStructuredTextOptions): TPdfStructuredTextPage;
GetStructuredText は、PDFium のネイティブテキスト API を通じて Unicode スカラー、文字ボックス、フォントサイズ、フォントの太さ、フォント名、角度、テキストオブジェクトの同一性を読み取ります
文字はスタイル付きスパンになり、スパンは物理行になり、水平方向に関連する行はブロックになり、ブロックのテキストはページレベルの Text フィールドへ連結されます
すべてのネイティブスカラーは UTF-16 のまま保持されます。サロゲートペアで表される補助面の文字も含まれます
ReadingOrder — roPhysicalLayout は上から下、左から右のジオメトリでグループ化し、roContentOrder はネイティブのコンテンツストリーム順を保持しますIncludeFontInfo — 各スパンにフォント名、サイズ、太さ、角度を含めます。既定値は True ですIncludeSemantics — 既存の Tagged PDF またはヒューリスティックな readable-content モデルを各ブロックへマッピングします。既定値は True ですMaxCharacters — 失敗時に閉じるページ文字予算です。既定値は 1000000 です| レコード | 主要なデータ |
|---|---|
TPdfStructuredTextPage | PageNumber、Width と Height、文字数と失敗数、Source、連結された Text、Blocks |
TPdfStructuredTextBlock | 境界、テキスト、構造種別、見出しレベル、言語、ソース、構造要素インデックス、行 |
TPdfStructuredTextLine | 境界、連結されたテキスト、スタイル付きスパン |
TPdfStructuredTextSpan | Text、Bounds、SourceStartIndex と SourceCharacterCount の範囲、FontName、FontSize、FontWeight、Angle |
Kind、HeadingLevel、Language、Source、StructElementIndex を設定できますUnmappedCharacterCount は、U+FFFD に置き換えられたネイティブのゼロマッピングを数えますGeometryFailureCount は、テキストを保持したまま、使用可能なネイティブ境界を持たない改行なし文字を数えます物理順の並べ替えでは、O(n log n) の文字ソート、幾何的に成長する行とスパンのバッファ、バッファリングされた UTF-16 構築、隣接する非 null テキストオブジェクトのフォントキャッシュを使用します
これらの拡張レイヤーが不要な場合は、IncludeFontInfo または IncludeSemantics を False に設定してください
var
Options: TPdfStructuredTextOptions;
Page: TPdfStructuredTextPage;
begin
Options := TPdfStructuredTextOptions.Default;
Options.MaxCharacters := 250000;
Page := Pdf1.GetStructuredText(Options);
Memo1.Text := Page.Text;
end;