Запись THPDFTextMatch
Локализует одно вхождение needle, найденное поиском по тексту загруженной страницы: диапазон глифов, исходный операнд и геометрия в user space
Объявление
THPDFTextMatch= record
PageIndex: Integer;
GlyphStart: Integer;
GlyphEnd: Integer;
TokenIndex: Integer;
ItemIndex: Integer;
X, Y: Double;
Width: Double;
Text: UnicodeString;
end;
Модуль
HPDFContentStream
Поля
| Поле | Назначение |
|---|---|
PageIndex | Страница с вхождением; матчер глифов оставляет -1, а публичный поисковый API вписывает реальный индекс страницы |
GlyphStart | Индекс первого глифа вхождения в массиве глифов страницы, включительно |
GlyphEnd | Индекс последнего глифа вхождения, включительно |
TokenIndex | Токен исходного операнда первого глифа, чтобы вызывающий код мог переписать его байты |
ItemIndex | Элемент массива TJ, содержащий первый глиф, когда операнд — массив |
X | X начала первого глифа в user space |
Y | Y начала первого глифа в user space |
Width | Горизонтальный advance в user space от начала первого глифа до конца последнего |
Text | Совпавший текст в точности так, как он выглядит в последовательности глифов |
Примечания по использованию
- Создаются методами
SearchLoadedPageText,SearchLoadedDocumentTextи вариантом поиска по целым словам GetLoadedSearchHitRectсворачивает диапазон глифов в один прямоугольник, чтобы UI нарисовал одну рамку подсветкиTokenIndexиItemIndexпозволяют замене текста переписать ровно тот операнд, который дал совпадение