接受或拒绝更改

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 文档的特定修订:

  1. 上传DOCX文件到云端
  2. 使用 Python 接受或拒绝更改
  3. 下载 生成的文件

上传文件

首先,使用下面给出的代码示例将修改后的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)
使用 Python 接受更改

使用 Python 接受更改

如果拒绝任何更改,您可以使用以下代码示例:

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 并与之交互。如有任何歧义,请随时在论坛上与我们联系。

也可以看看