Comparer des documents Word à l'aide de Python

La comparaison des documents Word est effectuée dans divers cas pour identifier les différences. Divers outils en ligne vous permettent de comparer des documents Word, cependant, vous devrez peut-être implémenter la fonction de comparaison à partir de vos applications. Pour y parvenir, cet article montre comment comparer deux documents Word en Python.

Bibliothèque Python pour comparer des documents Word

Pour comparer des documents DOCX ou DOC, nous utiliserons Aspose.Words for Python. Ladite bibliothèque vous permet d’automatiser les fonctionnalités de traitement de texte à partir de vos applications Python. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande pip suivante.

pip install aspose-words

Comparer deux documents Word en Python

Aspose.Words for Python vous permet de comparer facilement deux documents Word. Dans le processus de comparaison, les modifications sont publiées dans le premier document en tant que révisions. Voici les étapes pour comparer deux documents Word en Python.

  • Tout d’abord, chargez le premier document Word à l’aide de la classe Document.
  • Ensuite, chargez le deuxième document à l’aide de la classe Document.
  • Appelez la méthode compare(Document, string, datetime.today()) en utilisant l’objet Document du premier document.
  • Vérifiez si les documents sont différents à l’aide de la propriété Document.revisions.count.
  • Enfin, enregistrez le premier document pour obtenir les révisions.

L’exemple de code suivant montre comment comparer deux documents 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")

Voici la capture d’écran du résultat de la comparaison.

Comparer deux documents Word à l'aide de Python

Options supplémentaires pour comparer des documents Word

Aspose.Words fournit également des options supplémentaires pour contrôler le processus de comparaison de documents. Par exemple, vous pouvez ignorer des types d’éléments spécifiques tels que les en-têtes, les pieds de page, les commentaires, etc. Vous pouvez également définir la granularité pour spécifier s’il faut comparer les documents par caractères ou par mots. Voici les étapes pour définir ces options.

  • Tout d’abord, chargez le premier document Word à l’aide de la classe Document.
  • Ensuite, chargez le deuxième document à l’aide de la classe Document.
  • Créez une instance de la classe CompareOptions et définissez les options souhaitées.
  • Appelez la méthode compare(Document, string, datetime.today(), CompareOptions) en utilisant l’objet Document du premier document.
  • Vérifiez si les documents sont différents à l’aide de la propriété Document.revisions.count.
  • Enfin, enregistrez le premier document pour obtenir les révisions.

L’exemple de code suivant montre comment utiliser des options supplémentaires lors de la comparaison de deux documents 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")

Obtenez une licence API gratuite

Vous pouvez obtenir une licence temporaire afin d’utiliser Aspose.Words for Python sans limitations d’évaluation.

Conclusion

Dans cet article, vous avez appris à comparer deux documents Word en Python. De plus, vous avez vu comment contrôler l’opération de comparaison de documents à l’aide de différentes options. En outre, vous pouvez explorer d’autres fonctionnalités d’Aspose.Words for Python en utilisant la documentation. En cas de questions, vous pouvez nous les poser via notre forum.

Voir également