Извлекаем информацию из PDF-файла c Pythоn

Извлекаем информацию из PDF-файла c Pythоn

Извлекаем информацию из 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-файла.

Источник

НЕТ КОММЕНТАРИЕВ

Оставить комментарий

один + девять =