property CharacterCount: Integer; // read only
CharacterCount retorna o número de caracteres que o PDFium identifica no
FPDF_TEXTPAGE da página ativa — a mesma indexação que alimenta
Character[Index], CharacterRectangle[Index],
CharacterOrigin[Index] e a camada de busca/seleção. A contagem
reflete glifos após a resolução ToUnicode CMap, então cada entrada corresponde a
um ponto de código Unicode decodificado pelo PDFium, não a um glifo de programa de fonte PDF.
O valor é 0 quando Active é False, quando
a página não tem conteúdo de texto (páginas de imagem/vetor puro), ou quando o conteúdo de texto é
desenhado com fontes que não possuem um ToUnicode CMap e nenhuma heurística de fallback foi capaz de
decodificá-las. O PDFium também inclui caracteres de espaço em branco “gerados” que ele
sintetiza para modelar quebras de linha e limites de palavras — verifique
CharacterGenerated[Index] para distinguir glifos reais dos sintéticos.
O loop típico é for I := 0 to Pdf.CharacterCount - 1 do, com
Pdf.Character[I] retornando um WideChar. Concatenar estes
em uma única string produz o conteúdo de texto da página em ordem de leitura.
CharacterCount em si é O(1) após a página ser analisada; os acessadores indexados fazem o
trabalho por caractere.
CharacterMapError[Index] para detectar glifos que o PDFium não
conseguiu mapear de volta para Unicode; estes tipicamente precisam de OCR ou inspeção de programa de fonte.
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);