Python 从 Word 文件中提取或删除注释。

作为 Python 开发人员,您可以在云上以编程方式注释任何 Word(.doc 或 .docx)文件。您还可以使用 Python 从 Word 文件中提取或删除所有注释。注释包括注释、弹出窗口和文档中提供附加信息的各种其他图形对象。本文将重点介绍如何使用 Python 中的 REST API 从 DOCX 文件中提取或删除注释。

本文应涵盖以下主题:

文档注释 REST API 和 Python SDK

为了从 DOCDOCX 文件中提取或删除注释,我将使用 GroupDocs.Annotation Cloud 的 Python SDK API。它允许您以编程方式构建在线文档和图像注释工具。此类工具可用于向所有流行格式的业务文档添加注释、水印叠加、文本替换、编辑、便签和文本标记。它还为云 API 提供 .NET、Java、PHP、Ruby 和 Node.js SDK 作为其 文档注释系列成员

您可以在控制台中使用以下命令将 GroupDocs.Annotation Cloud 安装到您的 Python 项目:

pip install groupdocs_annotation_cloud

在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。获得 ID 和密码后,添加如下所示的代码:

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"

在 Python 中使用 REST API 从 DOCX 文件中提取或删除注释

您可以按照下面提到的简单步骤从 DOCX 文件中提取或删除所有注释:

上传文件

首先,使用下面给出的代码示例将 DOCX 文件上传到云端:

# 接口实例
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) 将在云端仪表板的 文件部分 中可用。

在 Python 中从 DOCX 文件中提取注释

请按照下面提到的步骤以编程方式从 Word 文档中提取注释。

  • 创建 AnnotateApi 实例
  • 创建一个 FileInfo 实例
  • 设置文件路径
  • 通过调用 ExtractRequest 方法创建请求
  • 调用AnnotateApi.extract()方法获取结果

以下代码片段显示了如何使用 REST API 从 Word 文档中提取注释。

# 接口实例
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 格式返回所有注释的数组,如下所示:

使用 Python 从 DOCX 文件中提取注释

使用 Python 从 DOCX 文件中提取注释

在 Python 中从 DOCX 文件中删除注释

请按照下面提到的步骤以编程方式从 Word 文档中删除注释。

  • 创建 AnnotateApi 实例
  • 创建一个 FileInfo 实例
  • 设置文件路径
  • 定义删除选项
  • 将文件信息设置为 AnnotateOptions
  • 提供要删除的注解 ID
  • 设置输出文件路径
  • 通过调用 RemoveAnnotationsRequest 方法创建请求
  • 调用AnnotateApi.remove\annotations()方法获取结果

以下代码片段显示了如何使用 REST API 从 Word 文档中删除注释。您需要提及需要从文档中删除的注释 ID。

# 接口实例
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'])
使用 Python 从 DOCX 文件中删除注释

使用 Python 从 DOCX 文件中删除注释

下载输出文件

上面的代码示例将在云端删除注释后保存输出的 DOCX 文件(output.docx)。您可以使用以下代码示例下载它:

# 接口实例
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\\")

在线试用

请试用以下使用上述API开发的免费在线DOCX标注工具。 https://products.groupdocs.app/annotation/docx

结论

在本文中,您学习了如何使用 Python 从云端的 Word 文档中提取或删除批注。您还学习了如何以编程方式将 DOCX 文件上传到云端以及从云端下载文件。您可以使用 文档 了解有关 GroupDocs.Annotation Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看