property CharacterCount: Integer; // read only
CharacterCount renvoie le nombre de caractères que PDFium identifie sur la FPDF_TEXTPAGE — la même indexation que celle qui pilote Character[Index], CharacterRectangle[Index], CharacterOrigin[Index] et la couche recherche / sélection. Le compte reflète les glyphes après résolution du CMap ToUnicode, de sorte que chaque entrée correspond à un point de code Unicode tel que décodé par PDFium, et non à un glyphe du programme de police PDF
La valeur est 0 quand Active vaut False, lorsque la page ne contient aucun texte (pages purement image ou vectorielles), ou lorsque le contenu textuel est dessiné avec des polices dépourvues de ToUnicode CMap et qu’aucune heuristique de secours n’a pu les décoder. PDFium inclut également des caractères d’espace « générés » qu’il synthétise pour modéliser les sauts de ligne et les séparations de mots — vérifiez CharacterGenerated[Index] pour distinguer les vrais glyphes des caractères synthétiques
La boucle typique est for I := 0 to Pdf.CharacterCount - 1 do, où Pdf.Character[I] renvoie un WideChar. Les concaténer en une seule chaîne donne le contenu texte de la page dans l’ordre de lecture. CharacterCount lui-même est en O(1) une fois la page analysée ; les accesseurs indexés font le travail caractère par caractère
CharacterMapError[Index] pour détecter les glyphes que PDFium n’a pas pu remapper vers Unicode ; ceux-ci nécessitent généralement une inspection OCR ou de programme de police
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);