WedX - журнал о программировании и компьютерных науках

Преобразование файла PDF в текстовый файл в Python

Я занимаюсь этим несколько дней + исследую Интернет о том, как получить конкретную информацию из файла PDF.

В конце концов я смог получить всю информацию с помощью Python из текстового файла (который я создал, перейдя в PDF-файл -----> Файл ------> Сохранить как текст).

Вопрос в том, как мне заставить Python выполнять эти задачи (перейти к файлу PDF (открыть его - довольно легко открыть («путь к файлу»), щелкнуть «Файл» в меню, а затем сохранить файл как текстовый файл в тот же каталог).

Просто для ясности: мне не нужны библиотеки pdfminer или pypdf, поскольку я уже извлек информацию из того же файла (после преобразования вручную в txt).


  • Существует веб-приложение и модуль, который преобразует pdf2txt.py mypdf.pdf. Посмотрите на это 21.07.2016
  • Да, я знаю об этом. Но я хочу добиться этого процесса, в конечном итоге автоматизировав процесс, поэтому мне нужно, чтобы это было с помощью команд python. И, как я уже сказал, я смог выполнить эту операцию без веб-приложения, просто зайдя в файл pdf и сохранив его как текст - это то, что я хочу сказать python. Спасибо за отзыв, Клейтон! 21.07.2016

Ответы:


1

Вы можете использовать файл pdftotext.exe, который можно загрузить с https://www.foolabs.com/xpdf/download.html, а затем выполните его в своих pdf-файлах через Python:

import os
import glob
import subprocess

#remember to put your pdftotxt.exe to the folder with your pdf files 
for filename in glob.glob(os.getcwd() + '\\*.pdf'):
    subprocess.call([os.getcwd() + '\\pdftotext', filename, filename[0:-4]+".txt"])

По крайней мере, это сработало для одного из моих проектов.

21.07.2016
  • Спасибо, pawelty, но, похоже, это ничего не делает. '[: import os import glob import subprocess для имени файла в glob.glob(os.getcwd() + 'C:\PDFs\ConfirmationPDF.pdf'): subprocess.call ([os.getcwd() + 'C:\PDFs\pdftotext.exe', имя файла, имя файла[0:-4]+'txt']) '. Имя pdf-файла — confirmpdf.pdf, и я сохранил pdftotext.exe в том же месте. Что-то я делаю не так? 21.07.2016
  • сначала измените свой рабочий каталог на C:\\PDFs\\ с помощью os.chdir('C:\\PDFs\\'). Когда вы меняете рабочий каталог, вам не нужно ничего менять в коде, который я предоставил. После того, как это будет сделано, просто проверьте свою папку, чтобы увидеть, есть ли там файлы txt. Дайте мне знать, если это сработало. 21.07.2016
  • Да, Tnx :) это сработало, но текст внутри содержит кодировку UTF-8, и он не передает эти данные в текстовый файл, в основном беря цифры и английские буквы. Как-нибудь обойти это? 21.07.2016
  • Не уверен, может быть, кто-то еще знает... Преобразование pdf в текст сложно и часто вызывает проблемы... 21.07.2016
  • Большое спасибо за Вашу помощь ! 21.07.2016
  • @Jenny_V Не могли бы вы вставить свои результаты? 21.07.2016
  • A#ebill#embeddedEmail#[email protected]#Z 1251026416 / 05.12.2016 04.13.2016 20147366 05.13.2016 1 :( ) 17 ,36 7566132 [email protected] 59,31 57,8 69,30 10,0,0 % 69,39 ----Надеюсь, это достаточно связно. Как я уже сказал, некоторый не английский текст отсутствует. 23.07.2016
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]