Python извлекает или удаляет аннотации из файлов Word.

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

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

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

Для извлечения или удаления аннотаций из файлов 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 = "da0c487d-c1c0-45ae-b7bf-43eaf53c5ad5"
client_secret = "479db2b01dcb93a3d4d20efb16dea971"

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

Извлечение или удаление аннотаций из файлов DOCX с помощью REST API в Python

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

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

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

# экземпляр API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)

# загрузить файл
request = groupdocs_annotation_cloud.UploadFileRequest("input.docx", "C:\\Files\\input.docx", my_storage)
response = file_api.upload_file(request)

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

Извлечение аннотаций из файлов DOCX в Python

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

  • Создайте экземпляр AnnotateApi
  • Создайте экземпляр FileInfo
  • Установить путь к файлу
  • Создайте запрос, вызвав метод ExtractRequest.
  • Получите результаты, вызвав метод AnnotateApi.extract().

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

# экземпляр API
api = groupdocs_annotation_cloud.AnnotateApi.from_config(configuration)

# сведения о входном файле
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "input.docx"

# извлечь запрос аннотации
request = groupdocs_annotation_cloud.ExtractRequest(file_info)
result = api.extract(request)        

print("ExtractAnnotations: annotations count: " + str(len(result)))

Приведенный выше пример кода вернет массив всех аннотаций в формате JSON, как показано ниже:

Извлечение аннотаций из файла DOCX с помощью Python

Извлечение аннотаций из файла DOCX с помощью Python

Удалить аннотации из файлов DOCX в Python

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

  • Создайте экземпляр AnnotateApi
  • Создайте экземпляр FileInfo
  • Установить путь к файлу
  • Определить RemoveOptions
  • Установите информацию о файле в AnnotateOptions
  • Укажите идентификаторы аннотаций для удаления
  • Установить путь к выходному файлу
  • Создайте запрос, вызвав метод RemoveAnnotationsRequest.
  • Получите результаты, вызвав метод AnnotateApi.remove\annotations().

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

# экземпляр API
api = groupdocs_annotation_cloud.AnnotateApi.from_keys(client_id, client_secret)

# сведения о входном файле
file_info = groupdocs_annotation_cloud.FileInfo()
file_info.file_path = "input.docx"

# удалить параметры
options = groupdocs_annotation_cloud.RemoveOptions()
options.file_info = file_info
options.annotation_ids = [0,1,2,3,4,5,6,7,8,9,10,11]

# выходной файл
options.output_path = "output.docx"

# удалить запрос
request = groupdocs_annotation_cloud.RemoveAnnotationsRequest(options)
result = api.remove_annotations(request)

print("RemoveAnnotations: Annotations removed: " + result['href'])
Удалить аннотации из файла DOCX с помощью Python

Удалить аннотации из файла DOCX с помощью Python

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

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

# экземпляр API
file_api = groupdocs_annotation_cloud.FileApi.from_config(configuration)

# запрос на скачивание файла
request = groupdocs_annotation_cloud.DownloadFileRequest("output.docx", my_storage)
response = file_api.download_file(request)

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

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

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

Заключение

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

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