property CharacterCount: Integer; // read only
CharacterCount はアクティブページの FPDF_TEXTPAGE で PDFium が識別した文字数を返します。これは Character[Index]、CharacterRectangle[Index]、CharacterOrigin[Index]、検索 / 選択レイヤーを駆動するのと同じインデックスです。カウントは ToUnicode CMap 解決後のグリフを反映するため、各エントリは PDF フォントプログラムのグリフではなく、PDFium がデコードした 1 つの Unicode 符号位置に対応します
Active が False のとき、ページにテキストコンテンツがないとき(純粋な画像 / ベクターページ)、またはテキストコンテンツが ToUnicode CMap を持たないフォントで描かれ、フォールバックヒューリスティクスでもデコードできなかったとき、値は 0 になります。PDFium は行区切りと単語境界をモデル化するために合成する「生成された」空白文字も含みます。本物のグリフと合成グリフを区別するには CharacterGenerated[Index] を確認してください
典型的なループは for I := 0 to Pdf.CharacterCount - 1 do で、Pdf.Character[I] が WideChar を返します。これらを 1 つの文字列へ連結すると読み取り順のページテキストコンテンツが得られます。CharacterCount 自体はページ解析後に O(1) です。インデックスアクセサーが文字ごとの処理を行います
CharacterMapError[Index] を使います。これらは通常 OCR またはフォントプログラムの検査が必要です
var S: string;
var I: Integer;
SetLength(S, Pdf1.CharacterCount);
for I := 1 to Length(S) do
S[I] := Pdf1.Character[I - 1];
Memo1.Lines.Add(S);