Как извлечь текст из PDF в скрипте на Linux?

23

В Linux - Как извлечь текст из текста, .pdfв котором текст на самом деле является текстом, а не отсканированным изображением? Я хочу что-то, что я могу использовать в командной строке / в сценарии, а не в интерактивном режиме. (Я не хочу конвертировать .tifи использовать OCR - текст уже доступен в .pdfфайле, так зачем вводить неточности из-за несовершенного OCR?)

RobM
источник

Ответы:

25

pdftotext который идет с попплером, попытается извлечь любой текст, найденный в PDF.

Игнасио Васкес-Абрамс
источник
1
Спасибо за ваш быстрый ответ, Игнасио! Я уже проверял pdftotext, который поставляется с xpdf (с foolabs.com) - ваш ответ побудил меня взглянуть еще раз, и я получил его на работу. Похоже, что Poppler эволюционировал из xpdf, поэтому я тоже на это посмотрю. Еще раз спасибо!
RobM
9

Ответ Игнасио очень хорош. На самом деле, это было бы первым делом в моем списке. Ну, это и, возможно, предложить pdftohtmlинструмент, который также поставляется с poppler, в сочетании с pdfreflow, если вы хотите попытаться собрать текст в абзацы и т. Д. (Конечно, это даст вам вывод HTML, но преобразование HTML в простой текст может быть сделано разными способами.)

Вот и некоторые другие варианты.

Инструмент ebook-convertкомандной строки от Caliber , который может конвертировать .PDFs в простой текст (или RTF или ряд форматов электронных книг, таких как ePub и т. Д.)

pdftxtextractиз Подофо

Abiword может быть вызван из командной строки для преобразования между любыми форматами, которые он может вводить из / export, и с соответствующим плагином импорта, включая PDF-файлы:

abiword --to=txt file.pdf

(Честно говоря, я думаю, что AbiWord и Calibre оба используют библиотеки Poppler, но я не уверен.)

радостный
источник
Спасибо, брат! В этом случае я просто извлекаю текст, чтобы можно было сканировать конкретные строки (имена поставщиков, номера счетов) и шаблоны (номера счетов и даты) - поэтому нет необходимости переформатировать или заново отображать его. Я ценю подтверждение и альтернативы - и я уверен, что другие тоже! - Роб
РобМ