Microsoft Word は、ユーザーが文書を作成、編集、書式設定できるようにする、広く使用されているワードプロセッサ アプリケーションです。文書を操作するとき、多くの場合、2 つの Word 文書を比較して、相違点、改訂、または更新を特定する必要があります。このブログ投稿では、C# で Word 文書を比較する方法を説明します。 Word 文書の比較をカスタマイズするための高度な機能についても説明します。
Word ドキュメントを比較するための C# ライブラリ
Aspose.Words for .NET は、C# での Word ドキュメントの作成、操作、変換を包括的にサポートする堅牢なライブラリです。ドキュメントの比較などのさまざまな機能を提供するため、ドキュメント中心のアプリケーションを扱う開発者にとって貴重なツールになります。
NuGetからライブラリをインストールするには、次のコマンドを使用できます。または、ダウンロード セクションからダウンロードできます。
PM> Install-Package Aspose.Words
C# で 2 つの Word 文書を比較する
Aspose.Words for .NET を使用すると、Word ドキュメントの比較が簡単になります。ドキュメントをロードして比較し、比較結果を取得するだけです。 Word 文書を比較するために必要な手順をさらに詳しく見てみましょう。
- まず、Word文書ごとにDocumentクラスのオブジェクトを作成します。
- Document.Compare(Document, string, DateTime) メソッドを呼び出してドキュメントを比較します。
- Document.Revisions.Count プロパティを使用してドキュメントが異なるかどうかを確認します。
- 最後に、Document.Save() メソッドを使用して最初のドキュメントを保存し、リビジョンを取得します。
次のコード スニペットは、C# で 2 つの Word 文書を比較する方法を示しています。
// 両方の Word 文書をロードします。
Document docA = new Document("document1.docx");
Document docB = new Document("document2.docx");
// DocA には変更がリビジョンとして含まれています。
docA.Compare(docB, "user", DateTime.Now);
if (docA.Revisions.Count == 0)
{
Console.WriteLine("Documents are equal");
}
else
{
Console.WriteLine("Documents are not equal");
docA.Save("results.docx");
}
以下は比較結果のスクリーンショットです。
高度な Word 文書比較オプション
Aspose.Words for .NET には、Word ドキュメントの比較プロセスをカスタマイズするためにいくつかのオプションが用意されています。たとえば、ヘッダー/フッター、コメントなどの特定のセクションを無視するようにライブラリを構成できます。さらに、粒度オプションを設定して、文字または単語の比較レベルを変更できます。 C# アプリケーションの Word 文書比較でこれらのオプションを使用する方法を見てみましょう。
- まず、Word文書ごとにDocumentクラスのオブジェクトを作成します。
- 次に、CompareOptionsクラスのオブジェクトを作成し、必要なオプションを設定します。
- Document.Compare(Document, string, DateTime, CompareOptions) メソッドを呼び出してドキュメントを比較します。
- 最後に、Document.Save() メソッドを使用して最初のドキュメントを保存し、リビジョンを取得します。
次のコード スニペットは、さまざまなオプションを使用して Word 文書の比較をカスタマイズする方法を示しています。
// 両方の Word 文書をロードします。
Document docA = new Document("document1.docx");
Document docB = new Document("document2.docx");
// さまざまな比較オプションを適用します。
CompareOptions compareOptions = new CompareOptions();
compareOptions.IgnoreFormatting = false;
compareOptions.IgnoreCaseChanges = false;
compareOptions.IgnoreComments = false;
compareOptions.IgnoreTables = false;
compareOptions.IgnoreFields = false;
compareOptions.IgnoreFootnotes = false;
compareOptions.IgnoreTextboxes = false;
compareOptions.IgnoreHeadersAndFooters = false;
compareOptions.Target = ComparisonTargetType.New;
// DocA には変更がリビジョンとして含まれています。
docA.Compare(docB, "user", DateTime.Now, compareOptions);
if (docA.Revisions.Count == 0)
{
Console.WriteLine("Documents are equal");
}
else
{
Console.WriteLine("Documents are not equal");
docA.Save("results.docx");
}
無料の API ライセンスを取得する
Aspose.Words for .NET を評価制限なしで使用するために、一時ライセンスを取得できます。
結論
Aspose.Words for .NET は、C# で Word ドキュメントを比較するプロセスを簡素化します。その強力な機能と使いやすい API により、開発者はアプリケーションにドキュメント比較機能を効率的に実装できます。ドキュメント管理システム、共同編集ツール、バージョン管理システムのいずれを構築している場合でも、Aspose.Words for .NET はドキュメントの比較を簡単に処理するために必要なツールを提供します。このブログでは、C# で 2 つの Word 文書を比較する方法を学習しました。また、さまざまなオプションを使用してドキュメント比較操作をカスタマイズする方法についても説明しました。
ドキュメント を使用して、Aspose.Words for C# の他の機能を調べることができます。ご質問がある場合は、フォーラム からお問い合わせください。