#linux #pdf #command-line #cat
#linux #PDF #командная строка #cat
Вопрос:
Я ищу программу командной строки, которая распечатает текст PDF-файла, как cat
и для текстового файла.
Я нашел pdftotxt
, и это было бы выполнимо, но я бы предпочел что-то, что воспроизводит cat
функциональность, потому что я хочу передать grep
. Спасибо!
Комментарии:
1. Хотя не похоже, что это решение этой проблемы, любой, кто заинтересован в взаимодействии с файлами PDF из командной строки, должен знать
pdftk
. (И вы могли бы посмотреть наdata_dump
команду, чтобы узнать, можно ли получить из нее что-нибудь полезное …)2. Связанный: конвертер PDF в текст
Ответ №1:
На справочных страницах для pdftotext
я нашел это:
pdftotext [параметры] [PDF-файл [текстовый файл]]
Описание Pdftotext преобразует файлы формата Portable Document Format (PDF) в обычный текст.
Pdftotext считывает PDF-файл, PDF-файл, и записывает текстовый файл, текстовый файл. Если текстовый файл не указан, pdftotext преобразует file.pdf в file.txt . Если текстовый файл имеет значение ‘-‘, текст отправляется в стандартный вывод.
Таким образом, для вывода stdout
в, чтобы передать, чтобы grep
использовать это:
pdftotext mydoc.pdf - | grep mysearchterm
Комментарии:
1. Который, похоже, поставляется с xpdf (факт, который может быть полезен при попытке выяснить, какой пакет установить …)
2. Смотрите также, есть ли лучший конвертер pdf в текст, чем pdftotext?
3. Установка на Linux:
sudo apt-get install poppler-utils
, OSX:brew install poppler
Ответ №2:
Может быть, вы можете попробовать это: https://github.com/luochen1990/nodejs-easy-pdf-parser
Это пакет npm, и для его использования вам необходимо установить nodejs (и npm).
Его можно использовать как инструмент командной строки:
npm install -g easy-pdf-parser
pdf2text test.pdf > test.txt
И этот инструмент будет сортировать текстовые строки по их координатам y, поэтому в большинстве случаев он отлично работает. И он также хорошо работает с unicode и кросс-платформенным (для сравнения: mingw64 pdftotext
потеряет символы Unicode в Windows).
Комментарии:
1. первый PDF-файл, который я попробовал, выдал ошибку:
(node:3972) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'Pages' of undefined
2. @masterxilo возможно, это зависит от содержимого файла PDF, не могли бы вы сообщить о проблеме с вашим файлом PDF, в котором есть проблема?