使用 Node.js 接受或拒絕 Word 中的修訂

Microsoft Word 提供了一個內置功能來跟踪更改並保留 Word 文檔中的修訂。但是,我們可能會以編程方式在雲端接受或拒絕 Word 文檔(DOCDOCX)的修訂。在本文中,我們將學習如何使用 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 文檔中的特定修訂:

  1. 上傳DOCX文件到雲端
  2. 接受或拒絕 Word 文檔中的更改
  3. 下載輸出文件

上傳文件

首先,我們將使用下面給出的代碼示例將修改後的 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);
在 Node.js 中使用 REST API 接受或拒絕跟踪更改

在 Node.js 中使用 REST API 接受或拒絕跟踪更改

同樣,我們可以按照前面提到的步驟拒絕任何更改。但是,我們只需要應用以下修訂選項:

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 並與之交互。如有任何歧義,請隨時在論壇上與我們聯繫。

也可以看看