Аннотируйте PDF-документы с помощью Python

Вы можете программно аннотировать любой PDF-документ в облаке с помощью Python. Это может быть любая дополнительная информация о существующем фрагменте данных в виде изображений, комментариев, заметок или других видов внешних примечаний в документе. В этой статье вы узнаете, как аннотировать PDF-документы с помощью REST API в Python.

В этой статье должны быть раскрыты следующие темы:

REST API и Python SDK для аннотаций к документам

Для аннотирования документов PDF я буду использовать API Python SDK of GroupDocs.Annotation Cloud. Это позволяет программно создавать инструменты аннотирования документов в режиме онлайн. Вы можете добавлять аннотации, наложения водяных знаков, замену текста, исправления и текстовые пометки к деловым документам всех популярных форматов. Он также предоставляет SDK для .NET, Java, PHP, Ruby и Node.js в качестве членов семейства аннотаций документов для Cloud API.

Вы можете установить GroupDocs.Annotation Cloud в свой проект Python с помощью следующей команды в консоли:

pip install groupdocs_annotation_cloud

Пожалуйста, получите свой идентификатор клиента и секрет клиента на панели управления, прежде чем приступать к выполнению шагов и доступных примеров кода. Получив свой идентификатор и секрет, добавьте код, как показано ниже:

client_id = "659fe7da-715b-4744-a0f7-cf469a392b73"
client_secret = "b377c36cfa28fa69960ebac6b6e36421"

configuration = groupdocs_annotation_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""

Аннотируйте PDF-документы с помощью REST API в Python

Вы можете добавить аннотации к своим PDF-документам, выполнив простые шаги, указанные ниже:

  1. Загрузить файл PDF в облако
  2. Аннотировать PDF-документы с помощью Python
  3. Скачать аннотированный файл

Загрузить документ

Во-первых, загрузите файл PDF в облако, используя следующий пример кода:

# создать экземпляр API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# загрузить образец файла
request = groupdocs_annotation_cloud.UploadFileRequest("sample.pdf", "C:\\Files\\sample.pdf", my_storage)
response = file_api.upload_file(request)

В результате загруженный PDF-файл будет доступен в разделе файлов вашей панели управления в облаке.

Аннотируйте PDF-документы с помощью Python

Выполните шаги, указанные ниже, чтобы программно добавить несколько аннотаций в документ PDF.

  • Создайте экземпляр AnnotateApi
  • Создайте первый экземпляр AnnotationInfo
  • Установите свойства аннотации для первого экземпляра, например положение, тип, текст и т. д.
  • Создать второй экземпляр AnnotationInfo
  • Установите свойства аннотации для второго экземпляра, например положение, тип, текст и т. д.
  • Создать третий экземпляр AnnotationInfo
  • Установите свойства аннотации для третьего экземпляра, например положение, тип, текст и т. д.
  • Создайте экземпляр FileInfo и установите путь к входному файлу.
  • Создайте экземпляр AnnotateOptions и установите для информации о файле значение AnnotateOptions.
  • Назначьте первую, вторую и третью аннотации для AnnotateOptions
  • Создайте запрос, вызвав метод AnnotateRequest.
  • Получите результаты, вызвав метод AnnotateApi.annotate().

В следующем примере кода показано, как аннотировать PDF-документ и добавлять несколько аннотаций с помощью REST API.

# инициализировать API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# аннотация расстояния
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 100
a1.box.y = 100
a1.box.width = 200
a1.box.height = 200
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 3
a1.opacity = 1
a1.type = "Distance"
a1.text = "This is аннотация расстояния"
a1.creator_name = "Anonym A."

# аннотация области
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 1
a2.annotation_position.y = 1
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 100
a2.box.y = 400
a2.box.width = 200
a2.box.height = 100
a2.page_number = 0
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 3
a2.opacity = 1
a2.type = "Area"
a2.text = "This is аннотация области"
a2.creator_name = "Anonym A."

# аннотация стрелка
a3 = groupdocs_annotation_cloud.AnnotationInfo()
a3.annotation_position = groupdocs_annotation_cloud.Point()
a3.annotation_position.x = 1
a3.annotation_position.y = 1
a3.box = groupdocs_annotation_cloud.Rectangle()
a3.box.x = 100
a3.box.y = 250
a3.box.width = 100
a3.box.height = 50
a3.page_number = 0
a3.pen_color = 1201033
a3.pen_style = "Solid"
a3.pen_width = 1
a3.opacity = 0.7
a3.type = "Arrow"
a3.text = "This is аннотация стрелка"
a3.creator_name = "Anonym A."

# входной файл
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# определить параметры аннотации
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2, a3]
options.output_path = "output.pdf"

# создать запрос аннотации
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddMultipleAnnotations: Multiple Annotations added: " + result['href'])
Добавить несколько аннотаций в документ PDF с помощью REST API в Python

Добавить несколько аннотаций в документ PDF с помощью REST API в Python

Подробнее о поддерживаемых типах аннотаций можно прочитать в разделе добавление аннотаций в документации.

Загрузите аннотированный файл

Приведенный выше пример кода сохранит аннотированный PDF-файл в облаке. Вы можете загрузить его, используя следующий пример кода:

# инициализация API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)
my_storage = ""

# создать запрос на скачивание
request = groupdocs_annotation_cloud.DownloadFileRequest("output.pdf", my_storage)
response = file_api.download_file(request)

# Переместите загруженный файл в свой рабочий каталог
shutil.move(response, "C:\\Files\\")

Добавьте аннотации TextField с помощью Python

Вы можете добавить аннотации текстовых полей в документы PDF программно, выполнив следующие шаги:

  • Создайте экземпляр AnnotateApi
  • Создайте экземпляр AnnotationInfo
  • Определить положение аннотации
  • Определить положение, высоту и ширину прямоугольника
  • Установите различные свойства аннотации, например текст, высоту, ширину и т. д.
  • Установите тип аннотации как TextField
  • Создайте экземпляр FileInfo и установите путь к входному файлу.
  • Создайте экземпляр AnnotateOptions и установите для информации о файле значение AnnotateOptions.
  • Назначить аннотацию для AnnotateOptions
  • Создайте запрос, вызвав метод AnnotateRequest.
  • Получите результаты, вызвав метод AnnotateApi.annotate().

В следующем примере кода показано, как добавить аннотации к текстовым полям в документ PDF с помощью REST API. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

# инициализировать API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# предоставить аннотационную информацию
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.annotation_position = groupdocs_annotation_cloud.Point()
a1.annotation_position.x = 1
a1.annotation_position.y = 1
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 380
a1.box.y = 300
a1.box.width = 100
a1.box.height = 50
a1.page_number = 0
a1.font_color = 1201033
a1.font_size = 12
a1.opacity = 0.7
a1.type = "TextField"           
a1.text = "Text field text"
a1.creator_name = "Anonym A."

# путь к входному файлу
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# определить параметры аннотации
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# создать запрос аннотации
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddTextFieldAnnotation: Text Field Annotation added: " + result['href'])
Добавьте аннотации текстового поля с помощью Python

Добавьте аннотации текстового поля с помощью Python

Добавьте аннотации к изображениям с помощью Python

Вы можете программно добавлять аннотации к изображениям в документы PDF, выполнив следующие действия:

  • Создайте экземпляр AnnotateApi
  • Создайте экземпляр AnnotationInfo
  • Определите прямоугольник и установите его положение, высоту и ширину.
  • Установите различные свойства аннотации, например положение, текст, высоту, ширину и т. д.
  • Установите тип аннотации как изображение
  • Создайте экземпляр FileInfo и установите путь к входному файлу.
  • Создайте экземпляр AnnotateOptions и установите для информации о файле значение AnnotateOptions.
  • Назначить аннотацию для AnnotateOptions
  • Создайте запрос, вызвав метод AnnotateRequest.
  • Получите результаты, вызвав метод AnnotateApi.annotate().

В следующем примере кода показано, как добавить аннотации к изображениям в документ PDF с помощью REST API. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

# инициализировать API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# определить аннотацию
a1 = groupdocs_annotation_cloud.AnnotationInfo()
a1.box = groupdocs_annotation_cloud.Rectangle()
a1.box.x = 300
a1.box.y = 300
a1.box.width = 200
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7
a1.type = "Image"
a1.text = "This is Image annotation"
a1.creator_name = "Anonym A."
a1.image_path = "JohnSmith.png"

# путь к входному файлу
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# определить аннотацию options
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output_img.pdf"

# создать запрос аннотации
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddImageAnnotation: Image Annotation added: " + result['href'])
Добавьте аннотации к изображениям с помощью Python

Добавьте аннотации к изображениям с помощью Python

Вы можете добавить аннотации гиперссылок в PDF-документы программно, выполнив следующие шаги:

  • Создайте экземпляр AnnotateApi
  • Создайте экземпляр AnnotationInfo
  • Определите точки аннотаций и установите положение для каждой точки
  • Установите различные свойства аннотации, например текст, высоту, ширину и т. д.
  • Установите тип аннотации как Ссылка
  • Создайте экземпляр FileInfo и установите путь к входному файлу.
  • Создайте экземпляр AnnotateOptions и установите для информации о файле значение AnnotateOptions.
  • Назначить аннотацию для AnnotateOptions
  • Создайте запрос, вызвав метод AnnotateRequest.
  • Получите результаты, вызвав метод AnnotateApi.annotate().

В следующем примере кода показано, как добавить аннотации гиперссылок в документ PDF с помощью REST API. Пожалуйста, следуйте шагам, упомянутым ранее, чтобы загрузить и скачать файл.

# инициализировать API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# предоставить аннотационную информацию
a1 = groupdocs_annotation_cloud.AnnotationInfo()
p1 = groupdocs_annotation_cloud.Point()
p1.x = 80
p1.y = 710
p2 = groupdocs_annotation_cloud.Point()
p2.x = 240
p2.y = 710
p3 = groupdocs_annotation_cloud.Point()
p3.x = 80
p3.y = 650
p4 = groupdocs_annotation_cloud.Point()
p4.x = 240
p4.y = 650
a1.points = [p1, p2, p3, p4]
a1.page_number = 0
a1.type = "Link"
a1.text = "This is Link annotation"
a1.creator_name = "Anonym A."
a1.url = "https://www.groupdocs.com/"

# путь к входному файлу
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "sample.pdf"

# определить параметры аннотации
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "output.pdf"

# создать запрос аннотации
request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)         

print("AddLinkAnnotation: Link Annotation added: " + result['href'])
Аннотировать с помощью аннотаций ссылок с помощью Python

Аннотировать с помощью аннотаций ссылок с помощью Python

Попробуйте онлайн

Попробуйте следующий бесплатный онлайн-инструмент для создания аннотаций PDF, разработанный с использованием указанного выше API. https://products.groupdocs.app/annotation/pdf

Заключение

В этой статье вы узнали, как добавлять различные типы аннотаций в документы PDF в облаке. Кроме того, вы узнали, как программно загрузить файл PDF в облако, а затем загрузить файл с комментариями из облака. Вы можете узнать больше о GroupDocs.Annotation Cloud API, используя документацию. Мы также предоставляем раздел Справочник по API, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае возникновения каких-либо неясностей, пожалуйста, свяжитесь с нами на форуме.

Смотрите также