作为 Python 开发人员,您可以在云上以编程方式注释任何 Word(.doc 或 .docx)文件。您还可以使用 Python 从 Word 文件中提取或删除所有注释。注释包括注释、弹出窗口和文档中提供附加信息的各种其他图形对象。本文将重点介绍如何使用 Python 中的 REST API 从 DOCX 文件中提取或删除注释。
本文应涵盖以下主题:
文档注释 REST API 和 Python SDK
为了从 DOC 或 DOCX 文件中提取或删除注释,我将使用 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文件到云端
- 在 Python 中从 DOCX 文件中提取注释
- 在 Python 中从 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 文件中删除注释
请按照下面提到的步骤以编程方式从 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'])
下载输出文件
上面的代码示例将在云端删除注释后保存输出的 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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。