property CharacterCount: Integer;// solo lectura
CharacterCount devuelve el número de caracteres que PDFium identifica en el FPDF_TEXTPAGE de la página activa — la misma indexación que impulsa Character[Index], CharacterRectangle[Index], CharacterOrigin[Index] y la capa de búsqueda / selección. El recuento refleja los glifos después de la resolución del CMap ToUnicode, por lo que cada entrada corresponde a un punto de código Unicode tal como lo decodifica PDFium, no a un glifo del programa de fuente PDF
El valor es 0 cuando Active es False, cuando la página no tiene contenido de texto (páginas de solo imagen / vector), o cuando el contenido de texto se dibuja con fuentes que carecen de un CMap ToUnicode y ninguna heurística de respaldo pudo decodificarlas. PDFium también incluye caracteres de espacio en blanco “generados” que sintetiza para modelar los saltos de línea y los límites de palabra — compruebe CharacterGenerated[Index] para distinguir los glifos reales de los sintéticos
El bucle típico es for I := 0 to Pdf.CharacterCount - 1 do, con Pdf.Character[I] devolviendo un WideChar. Concatenar estos en una sola cadena produce el contenido de texto de la página en orden de lectura; CharacterCount en sí es O(1) después de analizar la página; los accesores indexados hacen el trabajo por carácter
CharacterMapError[Index] para detectar glifos que PDFium no pudo volver a asignar a Unicode; esos normalmente necesitan OCR o inspección del programa de fuente
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);