как извлечь форматированный текст из PDF - PullRequest
15 голосов
/ 04 февраля 2010

Как извлечь текстовое содержимое (не изображения) из PDF, сохранив (примерно) стиль и макет, как в Документах Google?

Ответы [ 6 ]

9 голосов
/ 04 февраля 2010

Чтобы извлечь текст из PDF и получить его позицию, вы можете использовать PDFMiner . PDFMiner также может экспортировать PDF напрямую в HTML, сохраняя текст в хорошем положении.

Я не знаю ваш вариант использования, но при этом вы можете столкнуться с множеством проблем, потому что PDF действительно ориентирован на презентацию, а не на контент, поток текста не является непрерывным. Поэтому, если вы хотите, чтобы текст был редактируемым, это будет непростой задачей.

7 голосов
/ 04 февраля 2010

Вы пробовали pyPDF или ReportLab PDF-библиотеки? Я лично не использовал их, но вы можете попробовать их. здесь тоже полезно

4 голосов
/ 05 июля 2011

В Xpdf есть утилита вызова PDFtoText, которая отлично справляется со своей работой. http://foolabs.com/xpdf/download.html

4 голосов
/ 04 февраля 2010

Если вы хотите сделать это так же, как Google:

Google преобразует PDF в изображение, а затем накладывает изображение, где раньше находился текст, на выделяемые области JavaScript (что похоже на магию вуду). Области кажутся текстовыми, когда вы прокручиваете их курсором, но это не так. Это может не помочь вам узнать, но так они это делают. Если вы хотите выполнить обратный инжиниринг, вы можете начать с https://www.mercurial -scm.org / На главной странице они делают то же самое с JavaScript, чтобы сделать текст выделяемым и копируемым. Вы можете извлечь текст из PDF и найти его расположение на странице с одной из упомянутых библиотек в других ответах. Затем вы можете наложить извлеченное изображение файла с тем же стилем областей JavaScript.

3 голосов
/ 24 октября 2012

Acrobat Professional может сделать эту работу. В меню «Файл» выберите «Экспорт». Затем выберите Текст.

3 голосов
/ 04 февраля 2010

Если у вас нет желания работать с Python, Ghostscript может сделать это за васПроверьте pdf2ascii (скрипт, который поставляется с GS), чтобы получить простой текст.Стили являются более сложными, так как они могут быть определены несколькими различными способами.

...