PyMuPDF
Библиотека Python с открытым исходным кодом для управления метаданными PDF
Попробуйте PyMuPDF, бесплатную библиотеку Python с открытым исходным кодом для доступа и изменения метаданных PDF-документов.
Что такое PyMuPDF?
PyMuPDF, также известная как Fitz, — это библиотека Python с открытым исходным кодом, которая предлагает множество функций, таких как синтаксический анализ PDF-файлов, разделение и объединение PDF-файлов и т. д., но на этой странице мы обсудим только то, как разработчики Python могут использовать библиотеку PyMuPDF для решения задач, связанных с метаданными PDF, таких как:
- Чтение метаданных PDF: PyMuPDF поддерживает доступ к метаданным PDF-документов, содержащим такую информацию, как автор, название, тема, дата создания и т. д.
- Изменить метаданные PDF: библиотека также позволяет изменять метаданные PDF-документов.
- Чтение метаданных XML. Документы PDF также содержат метаданные XML, которые не ограничиваются стандартными свойствами документа, такими как автор, заголовок и т. д., и могут иметь дополнительные метаданные. С помощью PyMuPDF разработчики также могут его прочитать.
- Изменить метаданные XML. Разработчики также могут изменять метаданные XML PDF-файлов с помощью библиотеки PyMuPDF.
Начало работы с PyMuPDF
Для установки и использования PyMuPDF вам потребуется Python версии 3.8.0 или выше. Итак, сначала установите Python, а затем используйте приведенные ниже команды для установки PyMuPDF на свой компьютер с помощью pip и виртуальная среда.
Линукс
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
MacOS
python -m venv pymupdf-venv
. pymupdf-venv/bin/activate
pip install pymupdf
Окна
python -m venv pymupdf-venv
.\pymupdf-venv\Scripts\activate
pip install pymupdf
Чтение метаданных PDF
Мы можем читать метаданные PDF-файла, используя член metadata библиотеки PyMuPDF, который содержит полное содержимое метаданных документа. В приведенном ниже фрагменте кода показано, как получить метаданные PDF-файла из элемента metadata:
Выход
На снимке экрана ниже показаны метаданные, полученные из PDF-файла с помощью PyMuPDF:
Редактировать метаданные PDF
Мы можем редактировать метаданные PDF-файлов с помощью библиотеки PyMuPDF, передав словарь, содержащий поля, которые мы хотим изменить, вместе с их новыми значениями, методу set_metadata, как показано в фрагменте кода ниже:
Чтение XML-метаданных PDF-файлов
Мы можем получить XML-метаданные PDF-файла, используя библиотеку PyMuPDF. Мы используем метод get_xml_metadata, который возвращает все метаданные XML, как показано в фрагменте кода ниже:
Выход
На снимке экрана ниже показаны метаданные XML, полученные из PDF-файла с помощью PyMuPDF:
Изменение метаданных XML PDF-файлов
Мы можем установить или изменить метаданные XML PDF-файла, используя метод set_xml_metadata библиотеки PyMuPDF. Это не так просто, как замена метаданных уровня документа, поскольку set_xml_metadata принимает любую строку и заменяет полные метаданные XML переданной ему строкой.
Чтобы избежать непреднамеренного удаления любой информации метаданных, мы сначала получаем полные метаданные XML в виде строки с помощью get_xml_metadata, а затем используем метод replace для строки для замены. наконец, желаемую информацию, мы передаем полный XML с измененными полями методу set_xml_metadata, который изменяет все метаданные XML PDF-файла. Подробности смотрите в приведенном ниже фрагменте кода:
Заключение
Подводя итог, можно сказать, что PyMuPDF — отличный инструмент для задач, связанных с манипулированием метаданными. Мы можем легко получить и изменить метаданные PDF-файлов. Однако у метода set_xml_metadata есть заметная слабость. Этот метод принимает любую переданную ему строку и перезаписывает ею предыдущий XML, что может привести к непреднамеренной потере информации. Чтобы избежать этой проблемы, разработчики должны реализовать свою логику, чтобы гарантировать правильные изменения в метаданных XML.