2

Я хотел бы найти текст в файле PDF. Например, где слово "перейти" в моем PDF? Если вы найдете это, какая страница там?

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

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

Это приводит несколько элементов.

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

3 ответа3

6

pdfgrep, кажется, делает это. Со страницы руководства:

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

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

1

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

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

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

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .