Документация PDFiumPas

CharacterCount Свойство

Эта запись API сохраняет идентификаторы, сигнатуры, блоки кода и термины PDF в исходном виде.
Компонент: TPdf  ·  Модуль: PDFium
Количество извлекаемых символов на текущей активной странице

Синтаксис

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) после разбора страницы; индексированные доступы выполняют работу по каждому символу

Примечания

Пример

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);

См. также

Character, CharacterRectangle, CharacterOrigin, TextPage