Pythonを使用してWord文書を比較する

Word文書の比較は、違いを特定するためにさまざまな場合に実行されます。さまざまなオンラインツールを使用してWord文書を比較できますが、アプリケーション内から比較機能を実装する必要がある場合があります。これを実現するために、この記事では、Pythonで2つのWord文書を比較する方法を示します。

Word文書を比較するPythonライブラリ

DOCXまたはDOCドキュメントを比較するために、Aspose.Words for Pythonを使用します。上記のライブラリを使用すると、Pythonアプリケーション内からワードプロセッシング機能を自動化できます。次のpipコマンドを使用して、PyPIからライブラリをインストールできます。

pip install aspose-words

Pythonで2つのWord文書を比較する

Aspose.Words for Pythonを使用すると、2つのWord文書を非常に簡単に比較できます。比較プロセスでは、変更は改訂として最初の伝票に転記されます。以下は、Pythonで2つのWord文書を比較する手順です。

  • まず、Documentクラスを使用して最初のWord文書をロードします。
  • 次に、Documentクラスを使用して2番目のドキュメントをロードします。
  • 最初のドキュメントのDocumentオブジェクトを使用して、compare(Document、string, datetime.today())メソッドを呼び出します。
  • Document.revisions.countプロパティを使用して、ドキュメントが異なるかどうかを確認します。
  • 最後に、最初のドキュメントを保存してリビジョンを取得します。

次のコードサンプルは、2つのWord文書を比較する方法を示しています。

import aspose.words as aw

# load first document
doc = aw.Document("calibre.docx")

# load second document
doc2 = aw.Document("calibre2.docx")

# compare documents
doc.compare(doc2, "user", date.today())

# save the document to get the revisions
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

以下は、比較結果のスクリーンショットです。

Pythonを使用して2つのWord文書を比較する

Word文書を比較するための追加オプション

Aspose.Wordsには、ドキュメント比較プロセスを制御するための追加オプションもいくつか用意されています。たとえば、ヘッダー、フッター、コメントなどの特定の種類の要素を無視できます。また、粒度を設定して、文字または単語でドキュメントを比較するかどうかを指定できます。これらのオプションを設定する手順は次のとおりです。

  • まず、Documentクラスを使用して最初のWord文書をロードします。
  • 次に、Documentクラスを使用して2番目のドキュメントをロードします。
  • CompareOptionsクラスのインスタンスを作成し、必要なオプションを設定します。
  • 最初のドキュメントのDocumentオブジェクトを使用して、compare(Document、string, datetime.today()、CompareOptions)メソッドを呼び出します。
  • Document.revisions.countプロパティを使用して、ドキュメントが異なるかどうかを確認します。
  • 最後に、最初のドキュメントを保存してリビジョンを取得します。

次のコードサンプルは、2つのWord文書を比較しながら追加のオプションを使用する方法を示しています。

import aspose.words as aw

# load first document
doc = aw.Document("calibre.docx")

# load second document
doc2 = aw.Document("calibre2.docx")

# set additional options
options = aw.comparing.CompareOptions()            
options.ignore_formatting = True
options.ignore_headers_and_footers = True
options.ignore_case_changes = True
options.ignore_tables = True
options.ignore_fields = True
options.ignore_comments = True
options.ignore_textboxes = True
options.ignore_footnotes = True

# compare documents
doc.compare(doc2, "user", date.today(), options)

# save the document to get the revisions
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

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

評価の制限なしにAspose.Words for Pythonを使用するために、一時ライセンスを取得できます。

結論

この記事では、Pythonで2つのWord文書を比較する方法を学びました。さらに、さまざまなオプションを使用してドキュメント比較操作を制御する方法を見てきました。さらに、ドキュメントを使用して、Aspose.Words for Pythonの他の機能を調べることができます。ご不明な点がございましたら、フォーラムからお問い合わせください。

関連項目