PDFium Delphi Component Docs

TPdfDocumentSearch Класс

Модуль: PDFium
Потоково выдаёт текстовые совпадения вперёд или назад по документу, удерживая нативные дескрипторы только для одной страницы

Methods

MethodDescription
CreateИнициализирует поиск, принадлежащий документу, с текстом, опциями, начальной страницей, направлением и токеном отмены
DestroyЗакрывает удерживаемые нативные дескрипторы поиска и отсоединяется от документа-владельца
Next(out Match: TPdfDocumentSearchResult): BooleanВозвращает следующее совпадение или False после завершения, отмены или закрытия документа-владельца

Properties

PropertyTypeDescription
CurrentPageIntegerТекущая страница поиска, нумерация с единицы
DirectionTPdfDocumentSearchDirectionОбход страниц и совпадений вперёд или назад
FinishedBooleanПризнак того, что новых результатов получить нельзя
CancelledBooleanПризнак того, что поиск завершился кооперативной отменой
MatchCountUInt64Число уже выданных совпадений

TPdfDocumentSearchResult

FieldTypeDescription
PageNumberIntegerСтраница с совпадением, нумерация с единицы
StartIndexIntegerИндекс символа нативной текстовой страницы, нумерация с нуля
CountIntegerЧисло символов нативной текстовой страницы в совпадении
TextWStringUnicode-текст, извлечённый из диапазона совпадения
RectanglesTPdfRectanglesОдин или несколько объединённых прямоугольников в системе координат страницы PDF для подсветки

Lifetime and concurrency

Поиском владеет вызывающий код, который обязан его освободить. Документ-владелец отслеживает живые поиски только для того, чтобы закрыть их нативные дескрипторы до выгрузки документа

Обращения к документу-владельцу разделяют его блокировку PDFium. Отдельный экземпляр поиска всё же должен продвигаться и освобождаться одним согласованным вызывающим, а редактирование документа не должно перекрываться с активным поиском

See Also

TPdf.CreateDocumentSearch, TPdf.FindFirst