property CharacterCount: Integer; // read only
CharacterCount zwraca liczbę znaków, które PDFium identyfikuje na FPDF_TEXTPAGE
aktywnej strony — to samo indeksowanie, które napędza Character[Index],
CharacterRectangle[Index], CharacterOrigin[Index] oraz warstwę
wyszukiwania / zaznaczania. Liczba odzwierciedla glify po rozstrzygnięciu
ToUnicode CMap, więc każdy wpis odpowiada jednemu punktowi kodowemu Unicode zdekodowanemu
przez PDFium, a nie jednemu glifowi programu czcionki PDF
Wartość wynosi 0, gdy Active ma wartość False, gdy
strona nie ma zawartości tekstowej (strony czysto obrazowe / wektorowe) lub gdy zawartość
tekstowa jest rysowana czcionkami pozbawionymi ToUnicode CMap i żadna heurystyka awaryjna
nie potrafiła ich zdekodować. PDFium uwzględnia także „wygenerowane” białe znaki,
które syntetyzuje, aby modelować łamanie wierszy i granice słów — sprawdź
CharacterGenerated[Index], aby odróżnić rzeczywiste glify od syntetycznych
Typowa pętla to for I := 0 to Pdf.CharacterCount - 1 do, gdzie
Pdf.Character[I] zwraca WideChar. Konkatenacja tych znaków w jeden
ciąg daje zawartość tekstową strony w porządku czytania. Samo CharacterCount ma złożoność
O(1) po sparsowaniu strony; pracę per znak wykonują indeksowane akcesory
CharacterMapError[Index], aby wykryć glify, których PDFium
nie potrafił zmapować z powrotem na Unicode; takie przypadki wymagają zazwyczaj
OCR lub inspekcji programu czcionki
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);