Word 文書の比較

C# .NET を使用して Word ドキュメントを比較する

企業や個人がデジタル文書への依存度を高めるにつれ、効率的な文書比較ツールの必要性がますます高まっています。ドキュメントを手動で比較するのは面倒で時間がかかり、間違いが発生しやすいものです。ありがたいことに、C# .NET の機能を利用すると、Word 文書の比較プロセスを自動化し、より高速で、より正確で、より信頼性の高い作業を行うことができます。このブログ投稿では、.NET Cloud SDK を活用して Word 文書を比較する方法と、その機能を利用して時間を節約し文書レビュー プロセスを改善する方法について説明します。

ドキュメントを比較するための REST API

Aspose.Words Cloud SDK for .NET は、Word ドキュメントを簡単に比較できる強力なツールです。包括的な機能セットを使用すると、2 つ以上のドキュメントを比較し、ドキュメント間の変更点と相違点を特定し、変更点を強調表示するレポートを生成できます。開発者、プロジェクト マネージャー、編集者のいずれであっても、この SDK はドキュメントの比較プロセスを合理化し、貴重な時間を節約するのに役立ちます。

SDK を使用するには、NuGet パッケージ マネージャーで「Aspose.Words-Cloud」を検索し、[パッケージの追加] ボタンをクリックして .NET プロジェクトに SDK の参照を追加します。

C# で Word 文書を比較する

次のコード スニペットを使用して、Word 文書をオンラインで比較してみてください。

// 完全な例とデータ ファイルについては、次のサイトを参照してください。 
https://github.com/aspose-words-cloud/aspose-words-cloud-dotnet

// https://dashboard.aspose.cloud/ からクライアントの認証情報を取得します。
string clientSecret = "7f098199230fc5f2175d494d48f2077c";
string clientID = "ee170169-ca49-49a4-87b7-0e2ff815ea6e";

// ClinetID とクライアント シークレットの詳細を使用して構成オブジェクトを作成する
var config = new Aspose.Words.Cloud.Sdk.Configuration { ClientId = clientID, ClientSecret = clientSecret };
// WordsApi インスタンスを初期化する
var wordsApi = new WordsApi(config);

string firstDocument = "input-sample-1.docx";
string secondDocument = "input-sample-2.docx";
string resultantFile = "Comparison.docx";

// ローカルドライブから最初の Word 文書の内容を読み取ります
var firstFile = System.IO.File.OpenRead(firstDocument);
// ローカルドライブから最初の Word 文書を読み取ります
var secondFile = System.IO.File.OpenRead(secondDocument);
try
{
    // 入力した Word ドキュメントをクラウド ストレージにアップロードする
    wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));
    wordsApi.UploadFile(new UploadFileRequest(secondFile, secondDocument));

    CompareData compareData = new CompareData();
    // 比較するドキュメントを指定します
    compareData.ComparingWithDocument = secondDocument;
    // 著者の詳細
    compareData.Author = "Nayer Shahbaz";
    compareData.DateTime = DateTime.Now.Date;
    // 結果のドキュメントの形式
    compareData.ResultDocumentFormat = "DOCX";

    // ドキュメント比較オプションを設定する
    CompareOptions options = new CompareOptions()
    {
        IgnoreCaseChanges = true,
        IgnoreFormatting = true,
        IgnoreHeadersAndFooters = true,
        IgnoreFootnotes = true,
        IgnoreComments = true,
        IgnoreTextboxes = true,
        IgnoreTables = true,
        Target = CompareOptions.TargetEnum.Current,
        AcceptAllRevisionsBeforeComparison = true
     };
     compareData.CompareOptions = options

    // CreateDocument のインスタンスを作成する
    CompareDocumentRequest compare = new CompareDocumentRequest();
    compare.CompareData = compareData;
    compare.Name = firstDocument;
    // 結果のファイル名
    compare.DestFileName = resultantFile;
    
    // 文書比較操作を開始する
    wordsApi.CompareDocument(compare);
}
catch(Exception ex)
{
    // クラウドストレージへのファイルアップロード中の例外
    Console.Write(ex.StackTrace);
}
// create configuration object using ClientID and Client Secret details
var config = new Configuration { ClientId = clientID, ClientSecret = clientSecret };
// initialize WordsApi instance
var wordsApi = new WordsApi(config);

クライアントの資格情報を使用して WordsApi のインスタンスを作成します。

// read the content of first Word document from local drive
var firstFile = System.IO.File.OpenRead(firstDocument);
wordsApi.UploadFile(new UploadFileRequest(firstFile, firstDocument));

入力された Word 文書の内容を読み取り、クラウド ストレージにアップロードします。

CompareData compareData = new CompareData();
compareData.ComparingWithDocument = secondDocument;
compareData.Author = "Nayyer Shahbaz";
compareData.DateTime = DateTime.Now.Date;
compareData.ResultDocumentFormat = "DOCX";

CompareData オブジェクトのインスタンスを作成し、比較するドキュメントの名前、作成者の詳細、日付と時刻の情報、結果のドキュメントの形式を指定します。

CompareOptions options = new CompareOptions()
{
    IgnoreCaseChanges = true,
    IgnoreFormatting = true,
    IgnoreHeadersAndFooters = true,
    IgnoreFootnotes = true,
    IgnoreComments = true,
    IgnoreTextboxes = true,
    IgnoreTables = true,
    Target = CompareOptions.TargetEnum.Current,
    AcceptAllRevisionsBeforeComparison = true
};
compareData.CompareOptions = options;

さまざまな比較オプションを定義する CompareOptions インスタンスを作成します。

CompareDocumentRequest compare = new CompareDocumentRequest();
compare.CompareData = compareData;
compare.Name = firstDocument;
compare.DestFileName = resultantFile;

CompareData インスタンス、ソース Word ドキュメントの名前、および比較結果を含む出力ファイルの名前を指定します。

wordsApi.CompareDocument(compare);

ドキュメント比較操作を開始し、クラウド ストレージに出力を生成します。

cURL コマンドを使用して 2 つのドキュメントを比較する

Word 文書の比較は、特に複数のファイルや複雑な書式設定を扱う場合、困難で時間のかかる作業になる可能性があることについて説明しました。幸いなことに、Aspose.Words Cloud と cURL コマンドは、Word ドキュメントを迅速かつ簡単に比較するための強力なソリューションを提供します。 2 つ以上のドキュメントを比較し、変更を追跡し、ドキュメント間の相違点を強調する詳細なレポートを生成できます。

ここで、次のコマンドを実行して、クライアント ID とクライアント シークレットの詳細に基づいて JWT アクセス トークンを作成してください。

curl -v "https://api.aspose.cloud/connect/token" \
 -X POST \
 -d "grant_type=client_credentials&client_id=a41d01ef-dfd5-4e02-ad29-bd85fe41e3e4&client_secret=d87269aade6a46cdc295b711e26809af" \
 -H "Content-Type: application/x-www-form-urlencoded" \
 -H "Accept: application/json"

JWT トークンが生成されたら、次のコマンドを実行して 2 つの Word 文書をオンラインで比較し、結果のファイルをクラウド ストレージに保存してください。

curl -v "https://api.aspose.cloud/v4.0/words/{sourceFirst}/compareDocument?destFileName={differenceFile}" \
-X PUT \
-H  "accept: application/json" \
-H  "Authorization: Bearer {accessToken}" \
-H  "Content-Type: application/json" \
-d "{\"ComparingWithDocument\":\"input-sample-2.docx\",\"Author\":\"Nayyer Shahbaz\",\"DateTime\":\"2023-04-23T06:02:29.481Z\",\"CompareOptions\":{\"IgnoreCaseChanges\":true,\"IgnoreTables\":true,\"IgnoreFields\":true,\"IgnoreFootnotes\":true,\"IgnoreComments\":true,\"IgnoreTextboxes\":true,\"IgnoreFormatting\":true,\"IgnoreHeadersAndFooters\":true,\"Target\":\"Current\",\"AcceptAllRevisionsBeforeComparison\":true},\"ResultDocumentFormat\":\"docx\"}"

{sourceFirst} を入力 Word ドキュメント (クラウド ストレージに存在する) の名前に置き換え、{accessToken} を上記で生成された JWT アクセス トークンに置き換え、{differenceFile} を比較の違いを強調表示する結果の Word ドキュメントの名前に置き換えます。 。

Word文書の比較

画像:- .NET REST API を使用した Word ドキュメント比較のプレビュー。

結論

結論として、Word ドキュメントの比較は困難な作業になる可能性がありますが、Aspose.Words Cloud と cURL コマンド、またはその堅牢な .NET Cloud SDK の助けを借りて、強力なソリューションを自由に使用できます。 C# .NET で作業する場合でも、cURL などのコマンド ライン ツールを使用する場合でも、Aspose.Words Cloud には、2 つ以上のドキュメントの比較、変更の追跡、詳細レポートの生成のためのさまざまなオプションが用意されています。柔軟でカスタマイズ可能な機能を備えているため、Word 文書を定期的に使用する人にとっては不可欠なリソースです。ぜひ試してみて、ドキュメントの比較プロセスを合理化するのにどのように役立つかを確認してみてはいかがでしょうか。

役立つリンク

関連記事

次のブログを参照することを強くお勧めします。