Node.js を使用して Word で追跡された変更を承認または拒否する

Microsoft Word には、変更を追跡し、Word 文書のリビジョンを保持する機能が組み込まれています。ただし、クラウド上でプログラム的に Word 文書 (DOC または DOCX) の追跡された変更を承認または拒否する場合があります。この記事では、Node.js の REST API を使用して、Word 文書内の追跡された変更を承認または拒否する方法を学びます。

この記事では次のトピックについて説明します。

変更を承認または拒否するための REST API および Node.js SDK

Word 文書内の追跡された変更を承認または拒否するには、GroupDocs.Comparison Cloud の Node.js SDK API を使用します。 サポートされている形式 の 2 つ以上のドキュメントを比較し、その変更を追跡することができます。コンソールで次のコマンドを使用してインストールしてください。

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 リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。

関連項目