Библиотека аннотаций PDF с открытым исходным кодом Python
Попробуйте эту бесплатную библиотеку Python с открытым исходным кодом для добавления и извлечения аннотаций из PDF-документов.
Что такое pypdf?
Pypdf — это бесплатная библиотека Python с открытым исходным кодом, известная своим разнообразным набором функций для обработки PDF-документов в среде Python. Этот инструмент действительно полезен для различных манипуляций с PDF-файлами, но в этом обзоре мы сосредоточимся на его функциях, связанных с аннотациями.
Примечательные особенности pypdf, связанные с аннотациями, включают:
- Добавление аннотаций к фигурам. Мы можем рисовать такие фигуры, как линии, прямоугольники, эллипсы, многоугольники и т. д., в определенных областях страниц PDF в качестве аннотаций.
- Добавление текстовых аннотаций. Мы можем добавлять текстовые аннотации в определенные позиции страниц PDF.
- Добавление аннотаций к ссылкам. В PDF-документы также можно добавлять аннотации к ссылкам (например, гиперссылки).
- Извлечение аннотаций. Мы можем перебирать и извлекать информацию обо всех аннотациях в PDF-документе, используя библиотеку pypdf.
Начало работы с pypdf
Для установки и использования pypdf вам потребуется Python версии 3.6.0 или выше. Итак, сначала установите Python, а затем используйте приведенные ниже команды для установки pypdf на свой компьютер, используя pip и виртуальная среда.
Линукс
python3 -m venv venv
source venv/bin/activate
pip install pypdf
MacOS
python -m venv venv
source venv/bin/activate
pip install pypdf
Окна
python3 -m venv venv
venv\Scripts\activate.bat
pip install pypdf
Добавить прямоугольную аннотацию в PDF
Мы можем добавлять прямоугольные аннотации к PDF-документам, используя библиотеку pypdf. Мы будем использовать класс Rectangle модуля pypdf.annotations из библиотеки pypdf для определения прямоугольника. Затем мы воспользуемся методом add_annotations класса PDFWriter, чтобы добавить прямоугольную аннотацию в PDF-файл.
Подробности смотрите в приведенном ниже фрагменте кода:
Выход
На снимке экрана ниже вы можете видеть, что прямоугольник добавлен к аннотации к слову Open Source:
Добавить текстовую аннотацию в PDF
Мы создаем текстовые аннотации, используя класс Text из модуля pypdf.annotations библиотеки pypdf. После этого мы можем использовать метод add_annotations класса PDFWriter из библиотеки pypdf, чтобы добавить аннотацию в PDF-файл. Текстовая аннотация добавляется в виде значка, который расширяется и отображает текст при щелчке по значку. Подробности смотрите в приведенном ниже фрагменте кода:
Выход
Как мы видим на приведенном ниже скринкасте, приведенный выше код добавляет значок в PDF-файл в указанной позиции, который показывает текстовую аннотацию при щелчке по значку:
Добавить аннотацию ссылки в PDF
Аннотации ссылок создаются с использованием класса Link из модуля pypdf.annotations. Однако проблема с аннотацией ссылки заключается в том, что она просто добавляет ссылку, но ее не видно. Чтобы решить эту проблему, мы добавим прямоугольник, используя класс Rectangle из модуля pypdf.annotations, как мы объясняли ранее. Таким образом, пользователь может визуально определить место добавления аннотации ссылки. Для лучшего понимания проверьте приведенный ниже фрагмент кода:
Выход
Как мы видим в выводе, прямоугольник служит областью, которая при нажатии перенаправляет пользователя на указанную ссылку.
Извлечь аннотации из PDF
Мы можем извлечь аннотации из PDF-файла, используя библиотеку pypdf. Мы перебираем все аннотации на страницах PDF, а затем используем метод get_object, чтобы получить объект аннотации. Затем мы извлекаем соответствующую информацию из объекта. Подробности смотрите в приведенном ниже фрагменте кода:
Выход
Как мы видим на скриншоте ниже, программа вернула тип аннотации и координаты аннотации в PDF-документе:
Заключение
Pypdf позволяет разработчикам Python добавлять различные типы аннотаций в PDF-файлы и получать доступ к важной информации об аннотациях, такой как их тип и расположение, что делает его практичным выбором для задач, требующих добавления аннотаций и извлечения данных о аннотациях.