SearchTextBatch

Текст, Извлечение

Описание

Ищет по нескольким текстовым запросам, пока текстовые блоки каждой запрошенной страницы резидентны, избегая отдельного прохода извлечения на каждый запрос

Совпадения выдаются в порядке страниц, текстовых блоков и массива запросов

Синтаксис

Function TPDFlib.SearchTextBatch(Const Queries: Array Of TPDFlibSearchQuery; Const PageRange: WideString; Var Hits: Array Of TPDFlibSearchBatchHit): Integer;

Параметры

QueriesТекст запроса и опции для каждого индекса запроса с отсчетом от нуля; пустой текст запроса игнорируется
PageRangeПустая строка для каждой страницы либо выражение диапазона страниц с нумерацией от единицы
HitsПредоставленный вызывающим кодом буфер результата

Возвращаемое значение

Возвращает полное число совпадений по запросам и текстовым блокам, даже когда Hits меньше результирующего набора

Производительность

Каждая страница извлекается один раз на весь массив запросов, регистронезависимое свёртывание выполняется один раз на блок, геометрия попаданий считается один раз для блоков, совпавших с одним или несколькими запросами

Пример

SetLength(Queries, 2);
Queries[0].Query := 'invoice';
Queries[0].Options := [soWholeWord];
Queries[1].Query := 'overdue';
Queries[1].Options := [];
SetLength(Hits, 128);
Total := PDF.SearchTextBatch(Queries, '', Hits);

См. также

SearchTextBatchEach, TPDFlibSearchQuery, TPDFlibSearchBatchHit, SearchText