Невозможно найти содержимое pdf-файлов в терминале - PullRequest
1 голос
/ 29 марта 2009

У меня есть pdf-файлы, содержимое которых мне не удалось найти ни в одной терминальной программе. Я могу искать их только по Acrobat Reader и Skim.

Как вы можете искать содержимое pdf-файлов в терминале?

Кажется, что лучший вопрос -

Как выполняется поиск в средствах просмотра PDF, таких как Acrobat Reader и Skim?

Возможно, мне нужно создать такой инструмент поиска, если таких инструментов не существует.

Ответы [ 3 ]

2 голосов
/ 29 марта 2009

Попробуйте установить xpdf из MacPorts ; предполагается, что он поставляется с инструментом под названием pdftotext , который затем позволит вам выполнять поиск с использованием grep.

2 голосов
/ 29 марта 2009

pdftotext действительно отличный инструмент, но он производит очень длинные строки; для того, чтобы получить grep, вы захотите разбить их, например,

pdftotext drscheme.pdf - | fmt | grep -i spidey
1 голос
/ 29 марта 2009

PDF-файлы обычно сжимаются. Средства просмотра PDF, такие как Acrobat Reader и Skim, осуществляют поиск содержимого, распаковывая текст PDF в память, а затем выполняя поиск этого текста. Если вы хотите выполнить поиск из командной строки, одним из возможных предложений является использование pdftk для распаковки PDF, а затем использование grep (или ваша любимая утилита поиска текста в командной строке), чтобы найти нужный текст. Например:

# Search for the text "text_to_search_for", and print out 3 lines of context
# above and below each match
pdftk mydoc.pdf output - uncompress | grep -C3 text_to_search_for
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...