Метадані в PDF файлах можуть містити інформацію про автора, дату створення, програмне забезпечення, яке було використано для створення файлу, та інші деталі. Інколи може виникнути необхідність видалити або змінити ці метадані.
У цьому дописі ми розглянемо, як використовувати бібліотеку PyPDF2 для вилучення метаданих із PDF файлу.
Встановлення бібліотеки
Для початку потрібно встановити бібліотеку PyPDF2:
pip install PyPDF2
Вилучення метаданих
Ось приклад коду для вилучення метаданих із PDF файлу:
import PyPDF2
def remove_metadata(pdf_path, output_path):
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Створення нового PDF-файлу
writer = PyPDF2.PdfWriter()
# Копіювання всіх сторінок
for page_num in range(len(reader.pages)):
page = reader.pages[page_num]
writer.add_page(page)
# Вилучення метаданих
writer.add_metadata({
'/Producer': '',
'/Creator': '',
'/CreationDate': '',
'/ModDate': '',
'/Author': ''
})
with open(output_path, 'wb') as output_file:
writer.write(output_file)
Після запуску цього коду метадані у вихідному PDF-файлі будуть видалені.
Приклад використання
Для вилучення метаданих із вашого PDF файлу, ви можете використати нашу функцію таким чином:
# Приклад використання
remove_metadata('your_input_file.pdf', 'output_without_metadata.pdf')
Де 'your_input_file.pdf'
- це шлях до вашого вхідного файлу, а 'output_without_metadata.pdf'
- шлях, за яким буде збережено новий PDF файл без метаданих.
Зміна метаданих PDF файлу
Якщо ви бажаєте змінити деякі метадані, а не видаляти їх повністю, ви можете використати наступну функцію:
def modify_metadata(input_file, output_file, new_metadata):
# Відкриваємо вхідний файл
with open(input_file, 'rb') as file:
reader = PyPDF2.PdfReader(file)
# Створюємо новий PDF файл
writer = PyPDF2.PdfWriter()
# Додаємо сторінки з вхідного файлу
for page in reader.pages:
writer.add_page(page)
# Змінюємо метадані
writer.add_metadata(new_metadata)
# Зберігаємо новий PDF файл
with open(output_file, 'wb') as output:
writer.write(output)
Приклад використання
Для зміни метаданих вашого PDF файлу:
new_data = {
'/Title': 'Новий заголовок',
'/Author': 'Новий автор',
'/Subject': 'Нова тема',
# ... (інші метадані для зміни) ...
}
# Приклад використання
modify_metadata('your_input_file.pdf', 'output_with_modified_metadata.pdf', new_data)
Де 'your_input_file.pdf'
- це шлях до вашого вхідного файлу, 'output_with_modified_metadata.pdf'
- шлях, за яким буде збережено новий PDF файл із зміненими метаданими, а new_data
- словник з новими метаданими.
Немає коментарів:
Дописати коментар