在各種情況下執行 Word 文檔的比較以識別差異。各種在線工具允許您比較 Word 文檔,但是,您可能需要在您的應用程序中實現比較功能。為此,本文展示瞭如何在 Python 中比較兩個 Word 文檔。
用於比較 Word 文檔的 Python 庫
為了比較 DOCX 或 DOC 文檔,我們將使用 Aspose.Words for Python。上述庫允許您從 Python 應用程序中自動化文字處理功能。您可以使用以下 pip 命令從 PyPI 安裝庫。
pip install aspose-words
在 Python 中比較兩個 Word 文檔
Aspose.Words for Python 使您可以很容易地比較兩個 Word 文檔。在比較過程中,更改作為修訂過帳到第一個文檔中。以下是在 Python 中比較兩個 Word 文檔的步驟。
- 首先,使用 Document 類加載第一個 Word 文檔。
- 然後,使用 Document 類加載第二個文檔。
- 使用第一個文檔的文檔對象調用 compare(Document, string, datetime.today()) 方法。
- 使用 Document.revisions.count 屬性檢查文檔是否不同。
- 最後,保存第一個文檔以獲得修訂。
下面的代碼示例顯示瞭如何比較兩個 Word 文檔。
import aspose.words as aw
from datetime import date
# 加載第一個文檔
doc = aw.Document("calibre.docx")
# 加載第二個文檔
doc2 = aw.Document("calibre2.docx")
# 比較文件
doc.compare(doc2, "user", date.today())
# 保存文檔以獲得修訂
if (doc.revisions.count > 0):
doc.save("compared.docx")
else:
print("Documents are equal")
下面是對比結果的截圖。
比較 Word 文檔的附加選項
Aspose.Words 還提供了一些額外的選項來控製文檔比較過程。例如,您可以忽略特定類型的元素,如頁眉、頁腳、評論等。您還可以設置粒度來指定是按字符還是按單詞比較文檔。以下是設置這些選項的步驟。
- 首先,使用 Document 類加載第一個 Word 文檔。
- 然後,使用 Document 類加載第二個文檔。
- 創建 CompareOptions 類的實例並設置所需的選項。
- 使用第一個文檔的文檔對象調用 compare(Document, string, datetime.today(), CompareOptions) 方法。
- 使用 Document.revisions.count 屬性檢查文檔是否不同。
- 最後,保存第一個文檔以獲得修訂。
以下代碼示例顯示瞭如何在比較兩個 Word 文檔時使用其他選項。
import aspose.words as aw
from datetime import date
# 加載第一個文檔
doc = aw.Document("calibre.docx")
# 加載第二個文檔
doc2 = aw.Document("calibre2.docx")
# 設置附加選項
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
# 比較文件
doc.compare(doc2, "user", date.today(), options)
# 保存文檔以獲得修訂
if (doc.revisions.count > 0):
doc.save("compared.docx")
else:
print("Documents are equal")
獲取免費的 API 許可證
您可以獲得臨時許可,以便在沒有評估限制的情況下使用 Aspose.Words for Python。
結論
在本文中,您學習瞭如何在 Python 中比較兩個 Word 文檔。此外,您還看到瞭如何使用不同的選項來控製文檔比較操作。此外,您可以使用 文檔 探索 Aspose.Words for Python 的其他功能。如有任何問題,您可以通過我們的論壇 向我們提問。