Библиотека аннотаций PDF-файлов Python с открытым исходным кодом
Попробуйте эту бесплатную и открытую библиотеку Python для добавления и извлечения аннотаций из PDF-документов.
Что такое pypdf?
Pypdf — это бесплатная библиотека Python с открытым исходным кодом, известная своим разнообразным набором функций для обработки PDF-документов в среде Python. Этот инструмент действительно полезен для различных манипуляций с PDF, но в этом обзоре мы сосредоточимся на его функциях, связанных с аннотациями.
Примечательные особенности pypdf, связанные с аннотациями, включают в себя:
- Добавление аннотаций фигур: Мы можем рисовать такие фигуры, как линии, прямоугольники, эллипсы, многоугольники и т. д. на определенных областях страниц PDF-файла в качестве аннотаций.
- Добавление текстовых аннотаций: Мы можем добавлять текстовые аннотации в определенные места на страницах PDF-файла.
- Добавление аннотаций ссылок: Также можно добавлять аннотации ссылок (например, гиперссылки) в PDF-документы.
- Извлечение аннотаций: Мы можем перебирать и извлекать информацию обо всех аннотациях в PDF-документе с помощью библиотеки pypdf.
Начало работы с pypdf
Вам понадобится Python версии 3.6.0 или выше для установки и использования pypdf. Поэтому сначала установите 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-файлы и получать доступ к важной информации об аннотациях, такой как их тип и местоположение, что делает его практичным выбором для задач, требующих добавления аннотаций и извлечения данных об аннотациях.