Исследование метаданных в Python с помощью pyPDF2: подробное руководство

Метод 1: базовое извлечение метаданных
Первый метод предполагает использование базовых функций pyPDF2 для извлечения метаданных из PDF-файла. Вот пример того, как этого можно добиться:

import PyPDF2
def extract_metadata(file_path):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfReader(file)
        metadata = pdf.getDocumentInfo()
        return metadata
# Usage
file_path = 'path/to/your/file.pdf'
metadata = extract_metadata(file_path)
print(metadata.title)
print(metadata.author)
print(metadata.subject)
print(metadata.created)

Метод 2: выборочное извлечение метаданных
Иногда базовый метод извлечения может не предоставить все необходимые поля метаданных. В таких случаях вы можете получить доступ к отдельным свойствам метаданных напрямую, используя словарь info. Вот пример:

import PyPDF2
def extract_custom_metadata(file_path):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfReader(file)
        info = pdf.getDocumentInfo()
        custom_metadata = {
            'Title': info.title,
            'Author': info.author,
            'Subject': info.subject,
            'Created': info.created
            # Add more custom fields as needed
        }
        return custom_metadata
# Usage
file_path = 'path/to/your/file.pdf'
metadata = extract_custom_metadata(file_path)
print(metadata['Title'])
print(metadata['Author'])
print(metadata['Subject'])
print(metadata['Created'])

Метод 3: перебор метаданных
В некоторых случаях PDF-файл может содержать несколько наборов метаданных, например разные версии или редакции. Чтобы получить доступ ко всем записям метаданных, вы можете перебирать словарь info. Вот пример:

import PyPDF2
def iterate_metadata(file_path):
    with open(file_path, 'rb') as file:
        pdf = PyPDF2.PdfReader(file)
        info = pdf.getDocumentInfo()
        for key, value in info.items():
            print(f'{key}: {value}')
# Usage
file_path = 'path/to/your/file.pdf'
iterate_metadata(file_path)

С помощью библиотеки pyPDF2 извлечение метаданных из файлов PDF в Python становится простой задачей. В этой статье мы обсудили три метода: базовое извлечение метаданных, извлечение пользовательских метаданных и перебор записей метаданных. В зависимости от ваших конкретных требований вы можете выбрать метод, который лучше всего соответствует вашим потребностям. Не стесняйтесь изучать документацию pyPDF2, чтобы узнать о дополнительных функциях и возможностях.

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

Используя методы, описанные в этой статье, вы можете легко читать и извлекать метаданные из файлов PDF в Python, что позволяет обрабатывать и анализировать ценную информацию, хранящуюся в документах PDF.