function TextInRectangle(Left, Top, Right, Bottom: Double): WString;
function TextInRectangle(Rectangle: TPdfRectangle): WString;
| Rectangle | TPdfRectangle. A record specifying the bounding rectangle in PDF user-space coordinates (origin at lower-left, Y increases upward). |
WString (строка Unicode) со всеми символами, чьи bounding box пересекаются с указанным прямоугольником. Возвращает пустую строку, если в области не найдено текстаTextInRectangle извлекает Unicode-текст, который попадает в заданную прямоугольную область на текущей странице. Это удобно для чтения текста из конкретной зоны, например заголовка, нижнего колонтитула, ячейки таблицы или подписи поля, без обработки всей страницы
Предусмотрено две перегрузки. Четырехпараметрическая форма принимает отдельные значения Left, Вверх, Right и Bottom. Однопараметрическая форма принимает запись TPdfRectangle, что удобно, когда область уже вычислена как структура прямоугольника
Координаты используют PDF user space: начало координат находится в левом нижнем углу страницы, а Y растет вверх. Поэтому для нормально ориентированного прямоугольника Bottom имеет меньшее значение, чем Вверх. Символы включаются в результат, если их bounding box пересекается с указанной областью
Как и Text, этот метод читает логический текстовый слой страницы и работает с загруженной PDF-страницей
// 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;