Извлекаем информацию из PDF-файла c Pythоn
Как известно одной из сфер применения языка Python является автоматизация рутинных задач. Одной из них является извлечение метаданных и некоторого текста из PDF-файла.
Для подобных целей существует библиотека PyPDF2. Которая может быть полезна, когда выполняются определенные виды автоматизации для уже существующих PDF-файлов.
Для создания скрипта понадобится Python и соответствующая библиотека. И прежде создадим виртуальную среду, куда установим все необходимое.
>>>python -m venv my_pypdf2
# активируем ее
>>>cd my_pypdf2/Scripts
>>>activate
# теперь установим саму библиотеку pypdf2
>>>pip install pypdf2
Вот текущие типы данных, которые могут быть извлечены:
Автор
Создатель
Производитель
Предмет
Заглавие
Количество страниц
Вы можете использовать любой PDF-файл, который у вас есть под рукой на компьютере.
Напишем код, используя этот PDF-файл, и узнаем, как можно получить доступ к атрибутам:
import sys
from PyPDF2 import PdfFileReader
def take_inf(path_to_pdf):
with open(path_to_pdf, 'rb') as f:
pdf = PdfFileReader(f)
inf = pdf.getDocumentInfo()
number_of_pages = pdf.getNumPages()
txt = f"""
Информация об {path_to_pdf}:
Автор: {inf.author}
Создатель: {inf.creator}
Производитель: {inf.producer}
Предмет: {inf.subject}
Заглавие: {inf.title}
Количество страниц: {number_of_pages}
"""
print(txt)
return inf
if __name__ == '__main__':
# целевой pdf документ будет предаваться в качестве аргумента cmd
# при отсутствии ввода выйдет сообщение из exept
try:
path = sys.argv[1:][0]
take_inf(path)
except:
print("Где книга")
'''
вывод
Автор: None
Создатель: Simpo Word to PDF
Производитель: Simpo Word to PDF
Предмет: None
Заглавие: None
Количество страниц: 3
'''
Таким образом, мы узнали как извлечь метаданные из PDF-файла.