Извлечение всех данных PDF с помощью python pdfminer

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

3 Solutions collect form web for “Извлечение всех данных PDF с помощью python pdfminer”

Можем ли мы сделать это в одной строке (или два, если необходимо, без большой работы).

Нет, ты не можешь. Pdfminer мощный, но довольно низкоуровневый.

К сожалению, документация не является исчерпывающей. Мне удалось найти способ обойти его благодаря некоторому коду Дениса Папатанасиу. Код обсуждается в его блоге , и вы можете найти источник здесь: layout_scanner.py

См. Также этот ответ, где я расскажу немного подробнее.

Для Python 3:

pip install pdfminer.six

 from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from pdfminer.pdfpage import PDFPage from io import StringIO def convert_pdf_to_txt(path, codec='utf-8'): rsrcmgr = PDFResourceManager() retstr = StringIO() laparams = LAParams() device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams) fp = open(path, 'rb') interpreter = PDFPageInterpreter(rsrcmgr, device) password = "" maxpages = 0 caching = True pagenos=set() for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages, password=password,caching=caching, check_extractable=True): interpreter.process_page(page) text = retstr.getvalue() fp.close() device.close() retstr.close() return text 

для python3 есть еще один: pip install pdfminer3k

 from pdfminer.pdfinterp import PDFResourceManager, process_pdf from pdfminer.converter import TextConverter from pdfminer.layout import LAParams from io import StringIO import time from functools import wraps def fn_timer(function)://this is for calculating the run time(function) @wraps(function) def function_timer(*args, **kwargs): t0 = time.time() result = function(*args, **kwargs) t1 = time.time() print ("Total time running %s: %s seconds" % ('test', str(t1-t0)) ) return result return function_timer @fn_timer def convert_pdf(path, pages): rsrcmgr = PDFResourceManager() retstr = StringIO() laparams = LAParams() device = TextConverter(rsrcmgr, retstr, laparams=laparams) fp = open(path, 'rb') process_pdf(rsrcmgr, device, fp,pages) fp.close() device.close() str = retstr.getvalue() retstr.close() return str file = r'M:\a.pdf' print(convert_pdf(file,[1,])) 
  • Добавить ссылку в документ в PDF
  • Выведите документ (желательно PDF) из Python
  • Сообщение дайджеста pdf в цифровой подписи
  • Django / django-easy-pdf: объект «NoneType» не имеет атрибута «encode»
  • sphinx (python) pdf-генератор
  • Создание pdf с всплывающими подсказками в python
  • Как создать PDF-файл, включая изображения и текст, из Python?
  • как извлечь форматированный текстовый контент из PDF
  • Модуль Python для преобразования PDF в текст
  • Errno 13 Разрешение отклонено в djnago-wkhtmltopdf
  • img = Image.open (fp) AttributeError: class Image не имеет атрибута 'open'
  • Python - лучший язык программирования в мире.