Библиотека аннотаций PDF-файлов Python с открытым исходным кодом

Попробуйте эту бесплатную и открытую библиотеку Python для добавления и извлечения аннотаций из PDF-документов.

Что такое pypdf?

Pypdf — это бесплатная библиотека Python с открытым исходным кодом, известная своим разнообразным набором функций для обработки PDF-документов в среде Python. Этот инструмент действительно полезен для различных манипуляций с PDF, но в этом обзоре мы сосредоточимся на его функциях, связанных с аннотациями.

Примечательные особенности pypdf, связанные с аннотациями, включают в себя:

  • Добавление аннотаций фигур: Мы можем рисовать такие фигуры, как линии, прямоугольники, эллипсы, многоугольники и т. д. на определенных областях страниц PDF-файла в качестве аннотаций.
  • Добавление текстовых аннотаций: Мы можем добавлять текстовые аннотации в определенные места на страницах PDF-файла.
  • Добавление аннотаций ссылок: Также можно добавлять аннотации ссылок (например, гиперссылки) в PDF-документы.
  • Извлечение аннотаций: Мы можем перебирать и извлекать информацию обо всех аннотациях в PDF-документе с помощью библиотеки pypdf.
GitHub

Статистика GitHub

Имя:
Язык:
Звезды:
Вилки:
Лицензия:
Репозиторий последний раз обновлялся на

Начало работы с 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-файлы и получать доступ к важной информации об аннотациях, такой как их тип и местоположение, что делает его практичным выбором для задач, требующих добавления аннотаций и извлечения данных об аннотациях.

Похожие Продукты

 Русский