Microsoft Word 提供了一个很棒的功能来跟踪更改并保留 Word 文档的修订。作为 Python 开发人员,您可以在云端以编程方式接受或拒绝 Word 文档 (.docx) 的跟踪更改。本文将重点介绍如何在 Python 中使用 REST API 接受或拒绝 Word 文档的跟踪更改。
本文应涵盖以下主题:
文档对比 REST API 和 Python SDK
为了处理修订,我将使用 GroupDocs.Comparison Cloud 的 Python SDK API。它比较受支持文件格式的两个文档并找出它们之间的差异。结果,它创建了一个包含差异的结果文件。它还使您能够接受或拒绝检索到的更改。您可以轻松地将 SDK 集成到您现有的 Python 应用程序中。它使您能够比较文档、电子表格、演示文稿、Microsoft Visio 图表、电子邮件和许多其他格式的文件。它还提供 .NET、Java、PHP、Node.js 和 Ruby SDK 作为 Cloud API 的文档比较家族成员。
您可以在控制台中使用以下命令将 GroupDocs.Comparison Cloud 安装到您的 Python 项目:
pip install groupdocs_comparison_cloud
在开始执行步骤和可用代码示例之前,请从 dashboard 获取您的 Client ID 和 Client Secret。获得 ID 和密码后,添加如下所示的代码:
client_id = "112f0f38-9dae-42d5-b4fc-cc84ae644972"
client_secret = "16ad3fe0bdc39c910f57d2fd48a5d618"
configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
在 Python 中使用 REST API 接受或拒绝跟踪更改
您可以按照下面提到的简单步骤接受或拒绝 Word 文档的特定修订:
- 上传DOCX文件到云端
- 使用 Python 接受或拒绝更改
- 下载 生成的文件
上传文件
首先,使用下面给出的代码示例将修改后的Word文档上传到云端:
# 创建 API 实例
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.UploadFileRequest("source_with_revs.docx", "C:\\Files\\source_with_revs.docx", "")
response = file_api.upload_file(request)
因此,上传的 DOCX 文件将在云端仪表板的 文件部分 中可用。
使用 Python 接受或拒绝更改
请按照下面提到的步骤以编程方式接受或拒绝修订。
- 创建 ReviewApi 实例
- 设置源 .docx 文件
- 定义 ApplyRevisionsOptions
- 分配源并设置输出文件
- 创建 GetRevisionsRequest
- 通过调用 ReviewApi.get\revisions() 方法获取修订
- 将每个修订的修订操作设置为“接受”或“拒绝”
- 将更新的修订分配给 ApplyRevisionsOptions
- 创建 ApplyRevisionsRequest
- 通过调用 ReviewApi.apply\revisions() 方法获取结果
以下代码示例显示如何使用 REST API 接受跟踪的更改。
# 创建 API 实例
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)
# 设置源文件
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"
options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"
request = groupdocs_comparison_cloud.GetRevisionsRequest(options)
revisions = api_instance.get_revisions(request)
# 获取所有修订计数
print("Revisions count: " + str(len(revisions)))
# 接受修改
for revision in revisions:
revision.action = "Accept"
options.revisions = revisions
request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)
如果拒绝任何更改,您可以使用以下代码示例:
for revision in revisions:
revision.action = "Reject"
下载结果文件
因此,上述代码示例将在云端保存一个新创建的包含更改的 DOCX 文件。您可以使用以下代码示例下载它:
# API初始化
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
request = groupdocs_comparison_cloud.DownloadFileRequest("output\\result.docx", my_storage)
response = file_api.download_file(request)
# 将下载的文件移动到您的工作目录
shutil.move(response, "C:\\Files\\")
使用 Python 接受或拒绝所有更改
请按照下面提到的步骤以编程方式一次接受或拒绝所有更改。
- 创建 ReviewApi 实例
- 设置源 .docx 文件
- 定义 ApplyRevisionsOptions
- 然后分配源并设置输出文件
- 将 accept\all 设置为“True”以接受所有更改
- 或者将 reject\all 设置为“True”以拒绝所有更改
- 然后将更新的修订分配给 ApplyRevisionsOptions
- 创建 ApplyRevisionsRequest
- 调用ReviewApi.apply\revisions()方法获取结果
以下代码示例显示如何使用 REST API 接受所有更改。请按照前面提到的步骤上传和下载文件。
# 创建 API 实例
api_instance = groupdocs_comparison_cloud.ReviewApi.from_keys(client_id, client_secret)
# 设置源文件
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source_with_revs.docx"
options = groupdocs_comparison_cloud.ApplyRevisionsOptions()
options.source_file = source
options.output_path = "output/result.docx"
# 接受所有修订
options.accept_all = True
request = groupdocs_comparison_cloud.ApplyRevisionsRequest(options)
response = api_instance.apply_revisions(request)
您可以使用以下代码示例拒绝所有修订:
options.reject_all = True
在线试用
请试用以下使用上述 API 开发的免费在线 Word 比较工具。 https://products.groupdocs.app/comparison/docx
结论
在本文中,您了解了如何使用 Python 接受或拒绝云端 Microsoft Word 文档的修订。您还学习了如何以编程方式将 DOCX 文件上传到云端,然后从云端下载生成的文件。您可以使用 文档 了解有关 GroupDocs.Comparison Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。