Извлечение информации из PDF-файлов с помощью бесплатной библиотеки Python
Бесплатный Python API, который позволяет разработчикам извлекать информацию из документов PDF и преобразовывать PDF в другие форматы, а также выполняет автоматический анализ макета.
PDFMiner — это очень простая в использовании библиотека Python с открытым исходным кодом для обработки файлов PDF без каких-либо других зависимостей. PDFMine.six Поддерживаемый сообществом форк оригинальной библиотеки PDFMiner. Библиотека предоставляет очень мощные функции для извлечения информации из документов PDF. Он предоставляет командную утилиту для непрограммистов и интерфейс API для программистов. Мощный конвертер PDF также является частью библиотеки, которая помогает пользователям преобразовывать файлы PDF в другие текстовые форматы, такие как HTML.
PDFMiner — это чистая библиотека Python, которая может легко извлекать все тексты из файла PDF, отображаемые программно. Прекрасная возможность заключается в том, что он также извлекает соответствующие местоположения, имена и размеры шрифтов, а также направление письма (горизонтальное или вертикальное) для каждого сегмента текста. Он поддерживает спецификацию PDF-1.7 и обеспечивает поддержку извлечения PDF-документов, защищенных паролем. Библиотека включает в себя несколько других важных функций, таких как синтаксический анализ, анализ и преобразование документов PDF, извлечение содержимого в формате HTML или hOCR, поддержка сценариев вертикального написания, поддержка шифрования RC4 и AES, извлечение оглавления, извлечение содержимого с тегами, автоматическая компоновка. анализ и так далее.
Начало работы с PDFMiner
PDFMiner требует Python 3.6 и выше. Вы можете установить PDFMiner с помощью pip. Пожалуйста, используйте следующую команду для его установки.
Установите PDFMiner через pip
pip install pdfminer
Вы также можете загрузить скомпилированную общую библиотеку из репозитория GitHub и установить ее.
Извлечь текст из файла PDF через Python
Библиотека Pdfminer.six с открытым исходным кодом дает разработчикам программного обеспечения возможность извлекать текст из файла PDF с помощью всего пары строк кода Python. Библиотека фокусируется на получении и анализе текстовых данных, после чего извлекает текст со страницы непосредственно из исходного кода PDF. Библиотека также позволяет разработчикам извлекать изображения (JPG, JBIG2, Bitmaps) из файла PDF. Также возможно извлечь имя шрифта или размер каждого отдельного символа. В следующих примерах показано, как извлечь текст из файла PDF и распечатать его на экране.
Открывайте PDF-документы и управляйте ими с помощью Python
from pdfminer.high_level import extract_text
# Extract text from a pdf.
text = extract_text('example.pdf')
# Extract iterable of LTPage objects.
pages = extract_pages('example.pdf')
print(text)
Преобразование PDF-файла в hOCR через Python API
hOCR — это открытый стандарт представления данных для форматированного текста, полученного в результате оптического распознавания символов (OCR). Бесплатные библиотеки Pdfminer.six позволяют разработчикам программного обеспечения преобразовывать PDF-файлы в формат hOCR с помощью всего пары строк кода Python. Библиотека очень проста в обращении и может извлекать явную текстовую информацию из тех PDF-файлов, в которых она есть, и использует ее для создания базового представления hOCR.
Преобразование PDF-файла в текст через Python
Библиотека включает в себя богатый набор функций и возможностей, которые позволяют выйти за рамки базовой обработки PDF. Библиотека Pdfminer.six с открытым исходным кодом позволяет разработчикам Python преобразовывать PDF-документы в текст с помощью всего пары простых команд. Сначала вам нужно указать путь к файлам PDF, а также к текстовому файлу. Если документ защищен паролем, вам также необходимо указать его пароль. Для достижения цели можно использовать следующий пример кода, он просто возвращает строку в формате PDF, учитывая ее имя файла, вы можете легко сохранить ее в файле.
Преобразование PDF-файла в текстовый формат через Python API
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):
rsrcmgr = PDFResourceManager()
retstr = StringIO()
codec = 'utf-8'
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