Як витягнути текст із pdf у скрипті на Linux?


23

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


Відповіді:


25

pdftotext що постачається з poppler, спробує витягти будь-який текст, знайдений у PDF.


1
Дякую за швидку відповідь, Ігнасіо! Я вже перевіряв pdftotext, який надходить w xpdf (від foolabs.com) - ваша відповідь підштовхнула мене ще раз поглянути, і я працював. Здається, Poppler розвинувся з xpdf, тож я також погляну на це. Знову дякую!
RobM

9

Відповідь Ігнасіо просто чудова. Насправді це було б перше, що в моєму списку. Ну, і, можливо, запропонувати pdftohtmlінструмент, який також постачається з poppler, у поєднанні з pdfreflow, якщо ви хочете спробувати зібрати текст у абзаци тощо. (Звичайно, це дасть вам вихід HTML, але перетворення HTML у звичайний текст може робиться багатьма способами.)

Ось ще кілька варіантів.

Інструмент ebook-convertкомандного рядка від Caliber , який може конвертувати .PDF в звичайний текст (або RTF або декілька форматів книг, наприклад, ePub тощо)

pdftxtextractвід Подофо

Abiword можна викликати з командного рядка для конвертації між будь-якими форматами, в які він може вводити / експортувати, та з відповідним плагіном імпорту, сюди входять PDF-файли:

abiword --to=txt file.pdf

(Справедливо кажучи, я думаю, що AbiWord і caliber обидва використовують бібліотеки poppler, але я не позитивний.)


Дякую frabjous! У цьому випадку я просто витягую текст, щоб я міг сканувати конкретні рядки (назви постачальника, номери рахунків) та шаблони (номери рахунків-фактур та дати) - тому не потрібно переформатувати чи повторно відображати його. Я вдячний за підтвердження та альтернативи - і я впевнений, що і інші будуть! - Роб
RobM
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.