PDFium Delphi Component Docs

CharacterGenerated プロパティ

コンポーネント: TPdf  ·  ユニット: PDFium
指定されたインデックスの文字がページコンテンツストリームによって明示的に描画されたのではなく、テキスト抽出中に PDFium によって合成されたときに True を返します。検索とすべて選択の結果が自然に読めるように、リガチャ展開、ソフトハイフン、単語/行境界ヒューリスティクスのために合成文字が送出されます

Syntax

property CharacterGenerated[Index: Integer]: Boolean; // read only

Index現在ページのゼロベースの文字インデックス、0 から CharacterCount - 1 の範囲

Description

CharacterGenerated は指定されたインデックスの文字が元のコンテンツストリームに存在したのではなく PDFium が内部で生成したときに True を返します。典型的な例はリガチャ分解(fi リガチャグリフを f + i へ分割)、視覚的に分離された隣接テキストランの間に PDFium が挿入する後置スペース、各視覚行の終わりに注入される改行文字です

生成された文字はページコンテンツストリームに独自の描画を持たないため、その境界ボックスは隣接グリフから導出されます。ピクセル精度のヒットテストが必要な場合はページ上の位置を注意して扱ってください。CharacterRectangle はゼロ幅またはゼロ高さの領域へ縮退することがあります

厳密な逐語抽出(デジタル署名、テキストのハッシュワークフロー、ページコンテンツストリームとの ASCII 忠実比較など)のタスクでは、最初に生成された文字をフィルターします。通常のテキスト検索とクリップボードコピーでは、このフラグは純粋に情報提供です。PDFium はユーザーが期待するためこれらの文字をすでに挿入しています

Remarks

Example

// Build a verbatim string that contains only characters from the content stream
var
  I: Integer;
  S: WString;
begin
  S := '';
  for I := 0 to Pdf.CharacterCount - 1 do
    if not Pdf.CharacterGenerated[I] then
      S := S + Pdf.Character[I];
  Memo1.Text := S;
end;

See Also

Character, CharacterIsHyphen, CharacterMapError, CharacterRectangle, Text