Microsoft Word 提供了一个内置功能来跟踪更改并保留 Word 文档中的修订。但是,我们可能会以编程方式在云端接受或拒绝 Word 文档(DOC 或 DOCX)的修订。在本文中,我们将学习如何使用 Node.js 中的 REST API 接受或拒绝 Word 文档中的修订。
本文应涵盖以下主题:
用于接受或拒绝更改的 REST API 和 Node.js SDK
为了接受或拒绝 Word 文档中的跟踪更改,我们将使用 GroupDocs.Comparison Cloud 的 Node.js SDK API。它允许比较支持的格式 的两个或多个文档并跟踪它们的更改。请在控制台中使用以下命令安装它:
npm install groupdocs-comparison-cloud
在执行上述步骤之前,请从仪表板获取您的客户端 ID 和密码。获得 ID 和密码后,添加如下所示的代码:
global.clientId = "112f0f38-9dae-42d5-b4fc-cc84ae644972";
global.clientSecret = "16ad3fe0bdc39c910f57d2fd48a5d618";
global.myStorage = "";
const config = new groupdocs_comparison_cloud.Configuration(clientId, clientSecret);
config.apiBaseUrl = "https://api.groupdocs.cloud";
在 Node.js 中使用 REST API 接受或拒绝跟踪更改
我们可以按照下面给出的简单步骤接受或拒绝 Word 文档中的特定修订:
- 上传DOCX文件到云端
- 接受或拒绝 Word 文档中的更改
- 下载输出文件
上传文件
首先,我们将使用下面给出的代码示例将修改后的 Word 文档上传到云端:
// 构造FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
// 输入文件路径
let file = 'C:\\Files\\source_with_revisions.docx';
// 读取文件
fs.readFile(file, (err, fileStream) => {
// 创建上传文件请求
let request = new groupdocs_comparison_cloud.UploadFileRequest("source_with_revisions.docx", fileStream, myStorage);
// 上传文件
fileApi.uploadFile(request);
});
因此,上传的 DOCX 文件将在云端仪表盘的 文件部分 中可用。
接受或拒绝 Word 文档中的更改
现在,我们将按照以下步骤以编程方式接受或拒绝跟踪的更改:
- 首先,创建 ReviewApi 的实例。
- 接下来,提供上传的 DOCX 文件路径。
- 然后,获取修订并循环接受或拒绝所需的修订。
- 最后,应用修订并将更新后的文件保存为“output.docx”。
以下代码示例展示了如何在 Node.js 中使用 REST API 接受 Word 文档中的修订。
// 创建 API 实例
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);
// 输入源文件
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";
// 定义应用修订选项
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";
// 创建获取修订请求
let request = new groupdocs_comparison_cloud.GetRevisionsRequest(source);
// 获取所有修订
let revisions = await reviewApi.getRevisions(request);
// 接受或拒绝修订
revisions.forEach(revision => {
revision.action = groupdocs_comparison_cloud.RevisionInfo.ActionEnum.Accept;
});
options.revisions = revisions;
// 创建应用修订请求
let applyRequest = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);
// 应用修订
let response = await reviewApi.applyRevisions(applyRequest);
console.log("Output file link: " + response.href);
同样,我们可以按照前面提到的步骤拒绝任何更改。但是,我们只需要应用以下修订选项:
revisions.forEach(revision => {
revision.action = groupdocs_comparison_cloud.RevisionInfo.ActionEnum.Reject;
});
下载结果文件
因此,上述代码示例将在云端保存一个新创建的包含更改的 DOCX 文件。可以使用以下代码示例下载它:
// 构造FileApi
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
// 创建下载文件请求
let request = new groupdocs_comparison_cloud.DownloadFileRequest("output.docx", myStorage);
// 下载文件
let response = await fileApi.downloadFile(request);
// 保存在工作目录
fs.writeFile("C:\\Files\\output.docx", response, "binary", function (err) { });
接受或拒绝 Node.js 中的所有更改
我们可以按照以下步骤一次性接受或拒绝所有更改:
- 首先,创建 ReviewApi 的实例。
- 接下来,提供上传的 DOCX 文件路径。
- 然后,获取修订并接受或拒绝所有修订。
- 最后,应用修订并将更新后的文件保存为“output.docx”。
以下代码示例展示了如何使用 REST API 接受所有更改。请按照前面提到的步骤上传和下载文件。
// 创建 API 实例
let reviewApi = groupdocs_comparison_cloud.ReviewApi.fromKeys(clientId, clientSecret);
// 输入源文件
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source_with_revisions.docx";
// 定义应用修订选项
let options = new groupdocs_comparison_cloud.ApplyRevisionsOptions();
options.sourceFile = source;
options.outputPath = "output.docx";
// 接受所有修订
options.acceptAll = true;
// 拒绝所有修改
// options.rejectAll = true;
// 创建应用修订请求
let request = new groupdocs_comparison_cloud.ApplyRevisionsRequest(options);
// 应用修订
let response = await reviewApi.applyRevisions(request);
console.log("Output file link: " + response.href);
在线试用
请试用以下使用上述API开发的免费在线DOCX比较工具。 https://products.groupdocs.app/comparison/docx
结论
在本文中,我们了解了如何使用云上的 REST API 接受或拒绝 Word 文档中的跟踪更改。我们还看到了如何以编程方式一次性接受或拒绝所有修订。本文还介绍了如何以编程方式将 DOCX 文件上传到云端,然后从云端下载生成的文件。此外,您可以使用 文档 了解有关 GroupDocs.Comparison Cloud API 的更多信息。我们还提供了一个 API 参考 部分,让您可以直接通过浏览器可视化我们的 API 并与之交互。如有任何歧义,请随时在论坛上与我们联系。