Поиск по большому PDF: найти текст и перейти к нужной странице
Нужен один пункт в длинном договоре или каталоге. Разбираем поиск по текстовому слою, переход к совпадению и текущие надписи. Показываем, что изменилось при быстрой смене запроса и какие цифры относятся только к индексации.
Найти пункт в PDF, не перелистывая весь документ
В большом договоре или комплекте технической документации обычно нужен конкретный фрагмент: номер позиции, условие оплаты, артикул или название узла. Оглавление помогает не всегда, а ручной просмотр ста страниц легко уводит в соседний раздел. Поиск по PDF должен привести к нужному месту и показать его на странице, чтобы найденную строку можно было прочитать в контексте.
В редакторе DOKIVO можно искать по тексту PDF, переходить между совпадениями и учитывать текущие добавленные надписи. Мы улучшили обработку быстро меняющихся запросов и пополнение поискового индекса. Пока вы уточняете фразу, результат старого запроса не должен подменять тот, который введён последним.
Эта доработка особенно полезна в длинном документе, который ещё открывает страницы. Она сохраняет привычный путь: ввести запрос, дождаться поиска, перейти к совпадению, прочитать соседние строки. Поиск служит навигацией по содержимому; он не подтверждает правильность исходных цифр и не заменяет проверку найденного пункта.
По какому тексту ищет редактор
В обычном PDF буквы могут быть настоящим текстом или частью изображения. Если документ экспортировали из текстового редактора, у него часто есть текстовый слой. Если страницы отсканировали без распознавания, видимые слова ещё не доступны обычному текстовому поиску. Для такого файла сначала нужен отдельный сценарий OCR, после которого стоит проверить распознанные слова.
Редактор также учитывает надписи, которые вы добавили в текущей работе. Поэтому новая пометка может находиться до скачивания PDF. Для такого совпадения показывается пояснение «Совпадение в добавленной надписи». Оно помогает отличить исходный текст документа от собственного дополнения.
Имеет значение и видимая область страницы. Если после обрезки фрагмент оказался за её границами, прежнее совпадение не должно вести к скрытому тексту. Предупреждения о пропущенных фрагментах нужно читать: ноль найденных результатов не всегда означает, что нужного слова никогда не было в исходнике. Отмена обрезки возвращает прежнюю область и её доступный текст.
| Ситуация | Что проверить |
|---|---|
| PDF с текстовым слоем | Написание запроса, регистр и режим целого слова |
| Скан без распознанного текста | Нужен ли сначала OCR PDF |
| Совпадение в новой надписи | Это добавление текущего редактора, а не строка исходника |
| Текст за обрезанной областью | Границы страницы и предупреждение о пропущенных фрагментах |
Пример: похожие номера и поиск целого слова
Представим каталог с позициями КЛАПАН-17 и КЛАПАН-170. Короткий запрос «клапан» удобен, когда нужно найти раздел. Полная маркировка удобнее, когда важна определённая деталь. Дополнительные переключатели помогают уточнить, какое совпадение вы ожидаете, но результат всё равно нужно прочитать на странице.
Раскрывающиеся примеры объясняют настройки. Они не выполняют поиск и не загружают PDF.
В документе «SAMPLE_120_20», а запрос введён строчными буквами
При включённом учёте регистра строчная запись не совпадает с прописной. Отключите «Учитывать регистр», если различие букв для вашей задачи несущественно. Именно такое переключение проверяли на контрольном документе.
Ищете «SAMPLE_120» с включённым режимом «Слово целиком»
В контрольном примере это часть более длинной записи, поэтому полного совпадения нет. Полный запрос «SAMPLE_120_20» находится. Сначала решите, нужна ли целая маркировка или вхождение внутри неё.
Не меняйте несколько условий одновременно, если пытаетесь понять причину отсутствия результата. Сначала проверьте короткий узнаваемый фрагмент без дополнительных ограничений, затем уточните его и включите нужную настройку. Такой порядок особенно полезен для похожих артикулов и смешанных букв, где визуальное сходство не гарантирует одинаковый текст.
Что изменили для длинных документов
При быстром вводе пользователь успевает заменить запрос раньше, чем закончится предыдущий поиск. Если поставить все промежуточные варианты в очередь, редактор будет тратить время на уже ненужные фразы. Теперь у документа один выполняющийся запрос, а ожидающий вариант заменяется последним введённым. Устаревший ответ не публикуется как актуальный результат.
Второе изменение относится к добавлению страниц в индекс. Для очередной прочитанной страницы достаточно передать её состояние и компактные общие счётчики. Полный растущий список страниц не требуется копировать заново при каждом таком шаге. Смысл поиска и привязка совпадений к исходным фрагментам при этом сохранены.
Пользователь видит, сколько страниц просмотрено, и получает результат для текущего запроса. После смены PDF старый запрос не переносится в новый документ как будто это один файл. Эти детали важны для предсказуемой навигации, но сами по себе не задают время открытия любого PDF: плотная страница и страница с короткой строкой создают разную нагрузку.
Что измерили и где заканчиваются эти цифры
19 октября 2026 года сравнили старые и новые модули на сервере с ограничением 1 CPU. Для каждого варианта выполнили пять прогонов после прогрева, чередуя порядок. Измеряли только добавление синтетических страниц в индекс, подготовку служебных JSON-ответов и подсчёт их байтов. Ниже — медианы для страниц с коротким текстом.
| Синтетических страниц | Прежние модули | Новые модули |
|---|---|---|
| 100 | 2,552 мс | 0,491 мс |
| 500 | 22,478 мс | 1,934 мс |
| 1000 | 116,010 мс | 3,149 мс |
Линейная шкала одинакова для обеих полос. Для прежнего варианта диапазон пяти прогонов — 104,495–130,622 мс, для нового — 2,121–3,464 мс.
В этот интервал не входили извлечение текста библиотекой PDF, обмен с настоящим браузерным обработчиком, отрисовка страниц и реакция всего интерфейса на ввод. Поэтому цифры нельзя превращать в обещание скорости открытия вашего договора или общий коэффициент ускорения сайта. Проверка интерфейса была отдельной: на контрольном PDF из 120 страниц последний запрос привёл к странице 120 и подсветил правильное совпадение.

Как найти текст в большом PDF
- Откройте документ в редакторе PDF. Убедитесь, что выбрали нужную редакцию файла. Включите поиск и введите достаточно узнаваемый фрагмент.
- Прочитайте состояние индексации. Если страницы ещё просматриваются, дайте редактору дополнить поиск. Уточняйте запрос по своей задаче; ориентируйтесь на последний введённый вариант.
- Настройте совпадение. Проверьте «Учитывать регистр» и «Слово целиком». Для общего поиска снимите ограничения, для точного обозначения используйте полную запись.
- Перейдите к найденному месту. Просмотрите подсветку, соседние строки и номер страницы. Если совпадение относится к добавленной надписи, учитывайте это при чтении.
- Разберите отсутствие результата. Проверьте текстовый слой, обрезку и предупреждения. Для скана без текста используйте инструкцию OCR PDF, затем проверьте распознавание.
Поиск не требует сохранять каждую добавленную надпись в новый файл. Но если вы хотите передать свои правки получателю, отдельно сохраните PDF и откройте скачанную копию. Поведение поиска в текущем редакторе не является проверкой содержимого нового файла. Основные действия описаны в инструкции редактора PDF.
Частые вопросы
Почему видимое слово в PDF не находится?
Оно может быть частью скана без текста, отличаться написанием или оказаться вне текущей видимой области после обрезки. Проверьте также регистр, целое слово и предупреждения редактора.
Можно искать в ещё не скачанной новой надписи?
Да. Поиск учитывает текущие добавления и отмечает такое совпадение отдельно. В контрольном сценарии отмена надписи убирала результат, а повтор действия возвращал его.
Достаточно ли первого найденного совпадения?
Если одинаковая фраза встречается в нескольких разделах, перейдите между результатами и прочитайте контекст. Счётчик помогает ориентироваться, но не выбирает за вас нужное условие договора или нужный артикул.
Мой PDF на тысячу страниц откроется за 3,149 мс?
Это время одного внутреннего участка на синтетических данных. Оно не включает чтение и отрисовку реального PDF и не является обещанием скорости открытия документа.