Porównaj dokumenty programu Word za pomocą Python

Porównanie dokumentów programu Word odbywa się w różnych przypadkach w celu zidentyfikowania różnic. Różne narzędzia online umożliwiają porównywanie dokumentów programu Word, jednak może być konieczne zaimplementowanie funkcji porównania z poziomu aplikacji. Aby to osiągnąć, w tym artykule pokazano, jak porównać dwa dokumenty Worda w Python.

Biblioteka Python do porównywania dokumentów Worda

Do porównania dokumentów DOCX lub DOC użyjemy Aspose.Words for Python. Wspomniana biblioteka pozwala zautomatyzować funkcje przetwarzania tekstu z poziomu aplikacji Python. Możesz zainstalować bibliotekę z PyPI za pomocą następującego polecenia pip.

pip install aspose-words

Porównaj dwa dokumenty Worda w Python

Aspose.Words for Python ułatwia porównywanie dwóch dokumentów Worda. W procesie porównywania zmiany są księgowane w pierwszym dokumencie jako poprawki. Poniżej przedstawiono kroki, aby porównać dwa dokumenty programu Word w Python.

  • Najpierw załaduj pierwszy dokument programu Word, używając klasy Document.
  • Następnie załaduj drugi dokument, używając klasy Document.
  • Wywołaj metodę Compare(Document, string, datetime.today()) przy użyciu obiektu Document pierwszego dokumentu.
  • Sprawdź, czy dokumenty różnią się za pomocą właściwości Document.revisions.count.
  • Na koniec zapisz pierwszy dokument, aby uzyskać poprawki.

Poniższy przykładowy kod pokazuje, jak porównać dwa dokumenty programu Word.

import aspose.words as aw
from datetime import date

# załaduj pierwszy dokument
doc = aw.Document("calibre.docx")

# załaduj drugi dokument
doc2 = aw.Document("calibre2.docx")

# porównać dokumenty
doc.compare(doc2, "user", date.today())

# zapisz dokument, aby uzyskać wersje
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

Poniżej znajduje się zrzut ekranu wyniku porównania.

Porównaj dwa dokumenty programu Word za pomocą języka Python

Dodatkowe opcje porównywania dokumentów programu Word

Aspose.Words zapewnia również dodatkowe opcje kontroli procesu porównywania dokumentów. Na przykład można ignorować określone typy elementów, takie jak nagłówki, stopki, komentarze itp. Można również ustawić stopień szczegółowości, aby określić, czy dokumenty mają być porównywane według znaków, czy słów. Poniżej przedstawiono kroki, aby ustawić te opcje.

  • Najpierw załaduj pierwszy dokument programu Word, używając klasy Document.
  • Następnie załaduj drugi dokument, używając klasy Document.
  • Utwórz instancję klasy CompareOptions i ustaw żądane opcje.
  • Wywołaj metodę Compare(Document, string, datetime.today(), CompareOptions) przy użyciu obiektu Document pierwszego dokumentu.
  • Sprawdź, czy dokumenty różnią się za pomocą właściwości Document.revisions.count.
  • Na koniec zapisz pierwszy dokument, aby uzyskać poprawki.

Poniższy przykładowy kod pokazuje, jak używać dodatkowych opcji podczas porównywania dwóch dokumentów programu Word.

import aspose.words as aw
from datetime import date

# załaduj pierwszy dokument
doc = aw.Document("calibre.docx")

# załaduj drugi dokument
doc2 = aw.Document("calibre2.docx")

# ustawić dodatkowe opcje
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

# porównać dokumenty
doc.compare(doc2, "user", date.today(), options)

# zapisz dokument, aby uzyskać wersje
if (doc.revisions.count > 0):
    doc.save("compared.docx")
else:
    print("Documents are equal")

Uzyskaj bezpłatną licencję API

Możesz uzyskać tymczasową licencję, aby używać Aspose.Words for Python bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się porównywać dwa dokumenty Worda w Python. Ponadto widziałeś, jak sterować operacją porównywania dokumentów za pomocą różnych opcji. Poza tym możesz poznać inne funkcje Aspose.Words for Python, korzystając z dokumentacji. W przypadku jakichkolwiek pytań możesz je zadać za pośrednictwem naszego forum.

Zobacz też