property CharacterCount: Integer; // read only
CharacterCount връща броя символи, които PDFium идентифицира на FPDF_TEXTPAGE на активната страница
— същото индексиране, което задвижва
Character[Index], CharacterRectangle[Index],
CharacterOrigin[Index] и слоя за търсене / избор. Броят
отразява глифовете след разрешаването на ToUnicode CMap, така че всеки запис съответства на
една Unicode кодова точка, както е декодирана от PDFium, а не на един глиф от шрифтовата програма на PDF.
Стойността е 0, когато Active е False, когато
страницата няма текстово съдържание (чисти изображения / векторни страници) или когато текстовото съдържание е
нарисувано с шрифтове, които нямат ToUnicode CMap и никаква резервна евристика не е успяла да
ги декодира. PDFium също включва “генерирани” интервали, които
синтезира за моделиране на нови редове и граници на думите — проверете
CharacterGenerated[Index], за да различите реалните глифове от синтетичните.
Типичният цикъл е for I := 0 to Pdf.CharacterCount - 1 do, с
Pdf.Character[I], връщащ WideChar. Конкатенацията на тези
символи в един низ дава текстовото съдържание на страницата в ред на четене.
Самият CharacterCount е O(1) след като страницата е анализирана; индексираните достъпи извършват
работата за всеки символ.
CharacterMapError[Index], за да откриете глифове, които PDFium не е могъл
да съпостави обратно към Unicode; те обикновено се нуждаят от 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);