PDFium Delphi Component Docs

TextInRectangle Метод

Компонент: TPdf  ·  Модуль: PDFium
Извлекает текст внутри прямоугольной области страницы

Syntax

function TextInRectangle(Left, Top, Right, Bottom: Double): WString;

 

function TextInRectangle(Rectangle: TPdfRectangle): WString;

RectangleTPdfRectangle. Запись, задающая габаритный прямоугольник в пользовательских координатах PDF (начало внизу слева, Y растёт вверх)

Return Value

WString (строка Unicode) со всеми символами, чьи bounding box пересекаются с указанным прямоугольником. Возвращает пустую строку, если в области не найдено текста

Description

TextInRectangle извлекает Unicode-текст, попадающий в заданную прямоугольную область текущей страницы. Удобно для чтения текста из конкретного места — колонтитула, ячейки таблицы, подписи поля — без обработки всей страницы

Перегрузок две. Форма с четырьмя параметрами принимает отдельные Left, Top, Right и Bottom. Форма с одним параметром принимает запись TPdfRectangle, что удобно, когда область уже вычислена как прямоугольная структура

Координаты — в пользовательском пространстве PDF: начало в левом нижнем углу страницы, Y растёт вверх. Поэтому у нормально ориентированного прямоугольника Bottom меньше, чем Top. В результат включаются символы, чьи bounding box пересекают заданную область

Как и Text, метод читает логический текстовый слой страницы и работает на загруженной PDF-странице

Example

// Extract text from the top header area of an A4 page
// A4: 595 x 842 pt; header = top 60 pt band
Pdf1.LoadFromFile('C:\Docs\report.pdf');
Pdf1.PageIndex := 0;
var HeaderText: WString;
begin
  HeaderText := Pdf1.TextInRectangle(0, 782, 595, 842);
  ShowMessage(HeaderText);
end;

// Using TPdfRectangle overload
var
  Rect: TPdfRectangle;
  CellText: WString;
begin
  Rect.Left := 72; Rect.Bottom := 600;
  Rect.Right := 250; Rect.Top := 640;
  CellText := Pdf1.TextInRectangle(Rect);
end;

See Also

Text, CharacterCount, FindFirst