Вопрос: Как выполнить поиск некоторого текста в файле PDF


Я хотел бы найти текст в PDF-файле. Например, где слово «go to» в моем PDF-файле? Если вы его найдете, то на какой странице?

Я нахожу эту командную строку:

find /TEMP -name 'manu.pdf' -exec pdftotext {} - \; | grep "go to"

Это приводит к некоторым элементам.

Я хотел бы получить номер страницы моего результата. Как получить этот элемент?


2
2018-03-30 07:45


Источник




Ответы:


pdfgrep похоже, делает это. Из справочная страница:

-n, --page-number
Prefix each match with the number of the page where it was found.

6
2018-03-30 07:50



Большое вам спасибо, извините за эту тему, мне нужно увидеть эту страницу!
Извините, но pdfgrep не установлен на моем сервере. Я устанавливаю poppler-utils, но я не могу установить pdfgrep. Итак, у меня нет результата
Почему вы не можете установить pdfgrep? - Kai Sternad
На Centos 5.7 и ubuntu 9.10: apt-get (или yum) установите pdfgrep: нет пакета pdfgrep. Я загружаю файл 1.3.0.tar.gz, unzip, ./configure: configure: error: Требования к пакетам (poppler-cpp) не были выполнены: пакет «poppler-cpp» не найден. я не могу сделать ничего
Pdfgrep можно получить у Ubuntu 10.10 on. Я только что успешно установил его в Ubuntu 11 VM - Kai Sternad


По умолчанию pdftotext вставляет символы подачи (0xC) между страницами. Вы можете подсчитать их до появления искомого слова.

Другой способ - использовать bbox опция:

 Generate an XHTML file containing bounding box information for each word in the file.

Здесь каждое слово заключено в page контейнер. Таким образом, вы можете взять индекс + 1 из page ваше слово указано как номер страницы


1
2018-03-30 07:56



У вас есть пример, чтобы получить его?


Recoll может искать документы в формате PDF. Он имеет режим командной строки, но графический интерфейс будет более полезен в детализации, где встречаются совпадения, и он позволит вам щелкнуть документ в нужном месте.


1
2018-05-17 06:55