Как разработчик Python, вы можете программно аннотировать любой файл Word (.doc или .docx) в облаке. Аннотации обычно представляют собой метаданные в форме комментариев, примечаний, объяснений или других типов внешних примечаний в документе, предоставляющих дополнительную информацию о существующей части данных. В этой статье основное внимание будет уделено тому, как аннотировать файлы DOCX с помощью REST API в Python.

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

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

GroupDocs.Облако аннотаций

Для аннотирования документов DOC или DOCX я буду использовать 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 = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
my_storage = ""

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

Аннотируйте файлы DOCX с помощью REST API в Python

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

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

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

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

request = groupdocs_annotation_cloud.UploadFileRequest("one-page.docx", "C:\\Files\\one-page.docx", my_storage)
response = file_api.upload_file(request)

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

Добавить аннотации к файлам DOCX в Python

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

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

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

api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)

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 = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.7

# Добавить аннотацию области
a1.type = "Area"
a1.text = "This is area annotation"
a1.creator_name = "Anonym A."

file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "one-page.docx"
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1]
options.output_path = "Output\\output.docx"

request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)

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

Добавить аннотации к файлам DOCX в Python

Поддерживаемые типы аннотаций

Ниже приведен список поддерживаемых типов аннотаций, которые вы можете добавить в свои файлы DOCX, выполнив шаги, упомянутые ранее:

  • Область
  • Расстояние
  • Связь
  • Точка
  • Полилиния
  • Изображение
  • Текст
  • Водяной знак
  • Стрелка

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

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

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

request = groupdocs_annotation_cloud.DownloadFileRequest("Output\\output.docx", my_storage)
response = file_api.download_file(request)

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

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

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

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

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

api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)
  
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 = 200
a1.box.y = 200
a1.box.width = 300
a1.box.height = 100
a1.page_number = 0
a1.pen_color = 1201033
a1.pen_style = "Solid"
a1.pen_width = 1
a1.opacity = 0.2
a1.type = "Watermark"
a1.text = "This is watermark annotation"
a1.creator_name = "Anonym A."
    
a2 = groupdocs_annotation_cloud.AnnotationInfo()
a2.annotation_position = groupdocs_annotation_cloud.Point()
a2.annotation_position.x = 852
a2.annotation_position.y = 59.38
a2.box = groupdocs_annotation_cloud.Rectangle()
a2.box.x = 375.8
a2.box.y = 59.38
a2.box.width = 88
a2.box.height = 37
a2.page_number = 2
a2.pen_color = 1201033
a2.pen_style = "Solid"
a2.pen_width = 1
a2.opacity = 0.9
a2.type = "Image"
a2.text = "This is Image annotation"
a2.creator_name = "Anonym A."
a2.image_path = "JohnSmith.png"
    
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "ten-pages.docx"
options = groupdocs_annotation_cloud.AnnotateOptions()
options.file_info = file_info
options.annotations = [a1, a2]
options.output_path = "Output\\output.docx"

request = groupdocs_annotation_cloud.AnnotateRequest(options)
result = api.annotate(request)

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

аннотации изображений и водяных знаков

Заключение

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