PDFはデジタル世界で最も使用されている形式の1つであるため、同じドキュメントの2つのバージョンを比較する必要があることがよくあります。この記事では、** 2つのPDFドキュメントを比較し、C#を使用して違いを強調する方法**について説明します。さらに、パスワードで保護されたPDFファイルを比較する方法、変更を受け入れる方法と拒否する方法、および2つ以上のPDFファイルをC#の例と比較する方法についても説明します。

PDFドキュメントを比較して、.NETAPIを使用して違いを見つけます

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

PDFファイルを比較するための.NETAPI

GroupDocs.Comparison for .NETは、.NETアプリケーション内で複数のPDFドキュメントと同じドキュメント形式の他の多くのファイルを比較できるようにするAPIです。この記事のC#コード例でこのAPIを使用して、PDFドキュメントを比較します。

DLLまたはMSIインストーラーはダウンロードセクションからダウンロードするか、NuGetを介して.NETアプリケーションにAPIをインストールできます。

PM> Install-Package GroupDocs.Comparison

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

PDFドキュメントのコピーが複数ある場合は、これらのファイルを比較して違い(追加、削除) を見つけることができます。 PDFコンテンツを比較した後、識別されたすべての変更を強調表示する新しいドキュメントを作成できます。以下は、2つのPDFドキュメントを比較し、C#を使用して違いを強調する手順です。

  • Comparerクラスを使用して最初のPDFドキュメントをロードします。
  • Add() メソッドを使用して、2番目のファイルをComparerに追加します。
  • 両方のPDFファイルを比較し、Compare() メソッドを呼び出して変更の概要を取得します。

次のC#コードスニペットは、PDFドキュメントを比較し、結果のドキュメントの変更を強調表示する方法を示しています。

/*
 * C#を使用して2つのPDFドキュメントとハイライトの変更を比較する
 */
using (Comparer comparer = new Comparer(@"path/document-ver1.pdf"))
{
    comparer.Add(@"path/document-ver2.pdf");
    comparer.Compare(@"path/compared-result.pdf");
}

C#を使用してPDFファイルの識別された変更を承認または拒否する

トラック変更機能と同様に、PDFドキュメントで識別された各変更をプログラムで承認または拒否できます。次の手順は、PDFドキュメント内で特定された変更を比較して承認または拒否する方法を示しています。

  • Comparerクラスを使用してソースとターゲットのPDFファイルをロードします。
  • Compare() メソッドを使用してロードされたドキュメントを比較します。
  • GetChanges() メソッドを使用して識別された変更を取得します。
  • 変更をトラバースし、ComparisonActionを設定します。
    • 変更ごとに承認または拒否を選択します。
  • ApplyChanges() メソッドを呼び出して、受け入れられた変更を含む結果のドキュメントを取得します。

次のコードスニペットは、2つのPDFドキュメントを比較し、識別された変更を受け入れてから、C#を使用して別の変更を拒否します。

/*
 * C#を使用してPDFドキュメントを比較することにより、特定された変更を受け入れて拒否します
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Compare();
    ChangeInfo[] changes = comparer.GetChanges();
    
    // 最初に識別された変更を拒否すると、結果ドキュメントに追加されません
    changes[0].ComparisonAction = ComparisonAction.Reject;
    comparer.ApplyChanges(@"path/rejected-change-result.pdf", new ApplyChangeOptions { Changes = changes, SaveOriginalState = true });

    changes = comparer.GetChanges();
    changes[0].ComparisonAction = ComparisonAction.Accept;
    comparer.ApplyChanges(@"path/accepted-change-result.pdf", new ApplyChangeOptions { Changes = changes });
}

C#を使用して3つ以上のPDFファイルを比較する

同様に、3つ以上のドキュメントを比較できます。以下は、複数のPDFドキュメントの違いを比較し、特定された変更を強調する手順です。

  • Comparerクラスを使用して最初のPDFファイルをロードします。
  • Add() メソッドを使用して、他のドキュメントをComparerに追加します。
  • Compare() メソッドを使用してすべてのPDFファイルを比較し、変更と変更の概要を取得します。

次の例は、C#で複数のPDFファイルを比較し、結果のドキュメントの変更を取得する方法を示しています。

/*
 * C#を使用して複数のPDFドキュメントを比較する
 */
using (Comparer comparer = new Comparer(@"path/document-1.pdf"))
{
    comparer.Add(@"path/document-2.pdf");
    comparer.Add(@"path/document-3.pdf");
    comparer.Add(@"path/document-4.pdf");

    comparer.Compare(@"path/compare-result.pdf");
}

C#を使用してパスワードで保護されたPDFドキュメントを比較する

これらのドキュメントの読み込み中にパスワードを入力するだけで、パスワードで保護されたファイルを比較できます。次の手順は、C#を使用してパスワードで保護されたドキュメントのPDFコンテンツを比較する方法を示しています。

  • パスワードを入力して、ソースドキュメントとターゲットドキュメントの読み込みオプションを準備します。
  • Comparerクラスを使用してソースドキュメントをロードします。
  • 準備されたロードオプションを使用して、ターゲットドキュメントをComparerに追加します。
  • Compare() メソッドを呼び出して、相違点の要約を取得します。

次の例では、パスワードで保護された2つのPDFファイルを比較し、C#を使用して別のドキュメントで特定された違いを強調しています。

/*
 * C#を使用してパスワードで保護されたPDFドキュメントを比較する
 */
using (Comparer comparer = new Comparer(@"path/protected-document-1.pdf", new LoadOptions(){ Password = "SourceFilePassword" }))
{
    comparer.Add(@"path/protected-document-2.pdf", new LoadOptions() { Password = "TargetFilePassword" });
    comparer.Compare(@"path/compared-protected-docs-result.pdf");
}

無料のAPIライセンスを取得する

無料の一時ライセンスを取得して、評価の制限なしにAPIを使用できます。

結論

結論として、C#を使用して2つ以上のPDFファイルを比較する方法を学びました。さらに、違いを強調し、特定された変更をプログラムで受け入れるか拒否します。最後に、.NETアプリケーション内でパスワードで保護されたPDFドキュメントを比較する方法を見ました。

比較結果を制御するために、他のいくつかのカスタマイズが利用可能です。比較の感度を設定したり、概要ページのみを表示したり、ギャップを無視したりできます。** GroupDocs.Comparisonfor .NET **の詳細については、ドキュメントを参照してください。さまざまなドキュメント形式用に独自のドキュメント比較アプリケーションを構築できます。ご不明な点がございましたら、フォーラムまでお問い合わせください。

関連項目