Node.js 開発者は、クラウド上でプログラムによって 2 つ以上の Word 文書の類似点と相違点を簡単に比較できます。これは、同じ Word 文書の異なるバージョンまたは異なる文書の変更を追跡するのに役立ちます。この記事では、Node.js の REST API を使用して 2 つ以上の Word ドキュメントを比較する方法を学習します。
この記事では次のトピックについて説明します。
- Word ドキュメントを比較するための REST API と Node.js SDK
- Node.js の REST API を使用して 2 つの Word ファイルを比較する
- Node.js を使用して複数の DOCX ファイルを比較する
- Node.js の REST API を使用して変更リストを取得する
- Node.js を使用して比較結果をカスタマイズする
Word ドキュメントを比較するための REST API と Node.js SDK
2 つ以上の DOCX ファイルを比較するには、GroupDocs.Comparison Cloud の Node.js SDK API を使用します。 2 つ以上のドキュメントを比較し、結果のファイル内の相違点を見つけることができます。 SDK を既存の Node.js アプリケーションに簡単に統合して、ドキュメント、スプレッドシート、プレゼンテーション、Visio 図、電子メール、その他多くのサポートされている形式 のファイルを比較できます。
コンソールで次のコマンドを使用して、GroupDocs.Comparison Cloud を Node.js アプリケーションにインストールできます。
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 を使用して 2 つの Word ファイルを比較する
以下の簡単な手順に従って、Word 文書をプログラムで比較できます。
- DOCX ファイルをクラウドに アップロード
- Node.js を使用して Word ファイルを比較
- ダウンロード 結果の DOCX ファイル
DOCX ファイルをアップロードする
まず、次のコード サンプルを使用して、ソースとターゲットの DOCX ファイルをクラウドにアップロードします。
// FileApi を構築する
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
let resourcesFolder = 'C:\\Files\\comparison\\uploads\\';
fs.readdir(resourcesFolder, (err, files) => {
files.forEach(file => {
console.log(file);
fs.readFile(resourcesFolder + file, (err, fileStream) => {
let request = new groupdocs_comparison_cloud.UploadFileRequest(file, fileStream, myStorage);
fileApi.uploadFile(request);
});
});
});
その結果、アップロードされた DOCX ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Node.js を使用して Word ファイルを比較する
以下の手順に従って、2 つの Word 文書をプログラムで比較できます。
- まず、CompareApi のインスタンスを作成します。
- 次に、FileInfo のインスタンスを作成し、ソース入力 DOCX ファイル パスを設定します。
- 次に、FileInfo の別のインスタンスを作成し、ターゲットの入力 DOCX ファイル パスを設定します。
- その後、ComparisonOptions のインスタンスを作成し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します。
- 次に、ComparisonOptions を使用して ComparisonsRequest を作成します。
- 最後に、ComparisonsRequest で CompareApi.comparisons() メソッドを呼び出して結果を取得します。
次のコード サンプルは、Node.js の REST API を使用して 2 つの Word ファイルを比較する方法を示しています。
// APIを初期化する
let 比較Api = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// ソースファイル
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// ターゲットファイル
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// 比較オプションを定義する
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "比較d/result_比較Options.docx";
// 比較リクエストを作成する
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// 比較
let response = await 比較Api.comparisons(request);
console.log("Output file link: " + response.href);
結果のファイルをダウンロードする
上記のコード サンプルは、クラウド上に新しく作成された DOCX ファイルに差分を保存します。次のコードサンプルを使用してダウンロードできます。
// FileApi を構築する
let fileApi = groupdocs_comparison_cloud.FileApi.fromConfig(config);
// ダウンロードファイルリクエストの作成
let request = new groupdocs_comparison_cloud.DownloadFileRequest("compared/result_compareOptions.docx", myStorage);
// ダウンロードファイル
let response = await fileApi.downloadFile(request);
// 作業ディレクトリに保存します
fs.writeFile("C:\\Files\\comparison\\result_compareOptions.docx", response, "binary", function (err) { });
Node.js を使用して複数の DOCX ファイルを比較する
以下の手順に従って、複数の Word 文書をプログラムで比較できます。
- まず、CompareApi のインスタンスを作成します。
- 次に、FileInfo のインスタンスを作成し、ソース入力 DOCX ファイル パスを設定します。
- 次に、FileInfo の別のインスタンスを作成し、ターゲットの入力 DOCX ファイル パスを設定します。
- 複数のターゲット ファイルを追加するには、上記の手順を繰り返します。
- その後、ComparisonOptions のインスタンスを作成し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します。
- 次に、ComparisonOptions を使用して ComparisonsRequest を作成します。
- 最後に、ComparisonsRequest を指定して CompareApi.comparisons() メソッドを呼び出して結果を取得します。
次のコード サンプルは、Node.js の REST API を使用して複数の Word ファイルを比較する方法を示しています。
// APIを初期化する
let 比較Api = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// ソースファイル
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// 対象ファイル1
let target1 = new groupdocs_comparison_cloud.FileInfo();
target1.filePath = "target1.docx";
// 対象ファイル2
let target2 = new groupdocs_comparison_cloud.FileInfo();
target2.filePath = "target2.docx";
// 比較オプションを定義する
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target1, target2];
options.outputPath = "比較d/result_Multiple.docx";
// 比較リクエストを作成する
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// 比較
let response = await 比較Api.comparisons(request);
console.log("Output file link: " + response.href);
Node.js の REST API を使用して変更リストを取得する
以下の手順に従って、プログラムで Word 文書を比較した後、見つかった相違点の完全なリストを取得できます。
- まず、CompareApi のインスタンスを作成します。
- 次に、FileInfo のインスタンスを作成し、ソース入力 DOCX ファイル パスを設定します。
- 次に、FileInfo の別のインスタンスを作成し、ターゲットの入力 DOCX ファイル パスを設定します。
- その後、ComparisonOptions のインスタンスを作成し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します
- 次に、ComparisonOptions を使用して PostChangesRequest を作成します。
- その後、PostChangesRequest で CompareApi.postChanges() メソッドを呼び出して結果を取得します。
- 最後に、すべての変更を 1 つずつ表示します
次のコード サンプルは、Node.js の REST API を使用して変更のリストを取得する方法を示しています。
// APIを初期化する
let compareApi = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// ソースファイル
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// ターゲットファイル
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// 比較オプションを定義する
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "compared/result.docx";
// 変更後のリクエストを作成する
let request = new groupdocs_comparison_cloud.PostChangesRequest(options);
// 変更を投稿する
let changes = await compareApi.postChanges(request);
console.log("Changes count: " + changes.length);
changes.forEach(change => {
console.log(change.id + 1 +"- Target Text: " + change.targetText + ", Text: " + change.text + ", Type: " + change.type);
});
Node.js を使用して比較結果をカスタマイズする
以下の手順に従って、変更のスタイルをプログラムで簡単にカスタマイズできます。
- まず、CompareApi のインスタンスを作成します。
- 次に、FileInfo のインスタンスを作成し、ソース入力 DOCX ファイル パスを設定します。
- 次に、FileInfo の別のインスタンスを作成し、ターゲットの入力 DOCX ファイル パスを設定します。
- その後、設定のインスタンスを作成し、sensitivityOfComparison などのさまざまな比較設定を設定します。
- 次に、insertItemsStyle、deletedItemsStyle、およびchangedItemsStyleのItemsStyleのインスタンスを作成します。
- 次に、各 ItemsStyle に、highlightColor、fontColor、bold、italic などのさまざまなプロパティを設定します。
- その後、ComparisonOptions のインスタンスを作成し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します。
- 次に、ComparisonOptions に設定を割り当てます
- その後、ComparisonOptions を使用して ComparisonsRequest を作成します。
- 最後に、ComparisonsRequest を指定して CompareApi.comparisons() メソッドを呼び出して結果を取得します。
次のコード サンプルは、Node.js で REST API を使用して比較結果をカスタマイズする方法を示しています。
// APIを初期化する
let 比較Api = groupdocs_comparison_cloud.CompareApi.fromKeys(clientId, clientSecret);
// ソースファイル
let source = new groupdocs_comparison_cloud.FileInfo();
source.filePath = "source.docx";
// ターゲットファイル
let target = new groupdocs_comparison_cloud.FileInfo();
target.filePath = "target.docx";
// 比較設定を定義する
let settings = new groupdocs_comparison_cloud.Settings();
// 感度を比較する
settings.sensitivityOfComparison = 100;
// カスタマイズは挿入された項目のスタイルを変更します
settings.insertedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.insertedItemsStyle.highlightColor = "14297642";
settings.insertedItemsStyle.fontColor = "16711680";
settings.insertedItemsStyle.underline = true;
// 削除されたアイテムの変更スタイルをカスタマイズする
settings.deletedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.deletedItemsStyle.fontColor = "14166746";
settings.deletedItemsStyle.bold = true;
// 変更されたアイテムの変更スタイルをカスタマイズする
settings.changedItemsStyle = new groupdocs_comparison_cloud.ItemsStyle();
settings.changedItemsStyle.fontColor = "14320170";
settings.changedItemsStyle.italic = true;
// 比較オプションを定義する
let options = new groupdocs_comparison_cloud.ComparisonOptions();
options.sourceFile = source;
options.targetFiles = [target];
options.outputPath = "比較d/result_比較Options.docx";
options.settings = settings;
// 比較リクエストを作成する
let request = new groupdocs_comparison_cloud.ComparisonsRequest(options);
// 比較
let response = await 比較Api.comparisons(request);
console.log("Output file link: " + response.href);
オンラインで試す
上記の API を使用して開発された、次の無料のオンライン DOCX 比較ツールをお試しください。 https://products.groupdocs.app/comparison/docx
結論
この記事では、クラウド上の REST API を使用して Word ドキュメントを比較する方法を学習しました。さらに、複数の DOCX ファイルをプログラムで比較する方法についても説明しました。この記事では、プログラムで DOCX ファイルをクラウドにアップロードし、結果のファイルをクラウドからダウンロードする方法についても説明しました。さらに、ドキュメント を使用して、GroupDocs.Comparison Cloud API について詳しく学ぶことができます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。不明な点がある場合は、フォーラム でお気軽にお問い合わせください。