Как извлечь форматированный текстовый контент из PDF
Как я могу извлечь текстовый контент (а не изображения) из PDF, пока (примерно) поддерживает стиль и макет, например Google Docs?
Ответы
Ответ 1
Чтобы извлечь текст из PDF и получить его, вы можете использовать PDFMiner. PDFMiner также может экспортировать PDF непосредственно в HTML, сохраняя текст в хорошем положении.
Я не знаю вашего варианта использования, но есть много проблем, с которыми вы можете столкнуться, когда это делается, потому что PDF действительно ориентирован на презентацию, а не на контент, ориентированный, поток текста не является непрерывным. Итак, если вы хотите, чтобы текст был доступен для редактирования, это будет непростая задача.
Ответ 2
Вы пробовали pyPDF или ReportLab Библиотеки PDF? Я лично их не использовал, но вы можете пойти на них. здесь также полезно
Ответ 3
Если вы хотите сделать это точно так же, как Google:
Google конвертирует PDF в изображение, а затем накладывает изображение, в котором был текст, с выделенными областями JavaScript (что похоже на магию Voodoo). Области выглядят как текст, когда вы просматриваете их с помощью курсора, но это не так. Это может не помочь вам узнать, но как они это делают. Если вы хотите перепроектировать его, вы можете начать с https://www.mercurial-scm.org/ На домашней странице они делают то же самое с JavaScript, чтобы сделать текст выделяется и копируется. Вы можете извлечь текст из PDF и найти его местоположение на странице с указанными библиотеками в других ответах. Затем вы можете наложить извлеченное изображение файла с тем же стилем JavaScript-областей.
Ответ 4
У Xpdf есть служебный вызов PDFtoText, который отлично справляется. http://foolabs.com/xpdf/download.html
Ответ 5
Если у вас нет вашего сердца, чтобы сделать это с помощью python, Ghostscript может сделать это за вас. Посмотрите pdf2ascii (a script, который поставляется с GS), чтобы получить простой текст. Стили сложнее, поскольку они могут быть указаны несколькими способами.
Ответ 6
Acrobat Professional может выполнить эту работу. В меню "Файл" выберите "Экспорт". Затем выберите "Текст".