Comparar documentos do Word usando Python

A comparação de documentos do Word é realizada em vários casos para identificar as diferenças. Várias ferramentas online permitem comparar documentos do Word, no entanto, pode ser necessário implementar o recurso de comparação de dentro de seus aplicativos. Para isso, este artigo mostra como comparar dois documentos do Word em Python.

Biblioteca Python para comparar documentos do Word

Para comparar documentos DOCX ou DOC, usaremos Aspose.Words for Python. A referida biblioteca permite automatizar recursos de processamento de texto de dentro de seus aplicativos Python. Você pode instalar a biblioteca de PyPI usando o seguinte comando pip.

pip install aspose-words

Compare dois documentos do Word em Python

Aspose.Words for Python torna muito fácil para você comparar dois documentos do Word. No processo de comparação, as alterações são lançadas no primeiro documento como revisões. A seguir estão as etapas para comparar dois documentos do Word em Python.

  • Primeiro, carregue o primeiro documento do Word usando a classe Document.
  • Em seguida, carregue o segundo documento usando a classe Document.
  • Chame o método compare(Document, string, datetime.today()) usando o objeto Document do primeiro documento.
  • Verifique se os documentos são diferentes usando a propriedade Document.revisions.count.
  • Por fim, salve o primeiro documento para obter as revisões.

O exemplo de código a seguir mostra como comparar dois documentos do Word.

import aspose.words as aw
from datetime import date

# 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")

A seguir está a captura de tela do resultado da comparação.

Compare dois documentos do Word usando Python

Opções adicionais para comparar documentos do Word

O Aspose.Words também oferece algumas opções adicionais para controlar o processo de comparação de documentos. Por exemplo, você pode ignorar tipos específicos de elementos, como cabeçalhos, rodapés, comentários, etc. Além disso, você pode definir a granularidade para especificar se os documentos devem ser comparados por caracteres ou palavras. A seguir estão as etapas para definir essas opções.

  • Primeiro, carregue o primeiro documento do Word usando a classe Document.
  • Em seguida, carregue o segundo documento usando a classe Document.
  • Crie uma instância da classe CompareOptions e defina as opções desejadas.
  • Chame o método compare(Document, string, datetime.today(), CompareOptions) usando o objeto Document do primeiro documento.
  • Verifique se os documentos são diferentes usando a propriedade Document.revisions.count.
  • Por fim, salve o primeiro documento para obter as revisões.

O exemplo de código a seguir mostra como usar opções adicionais ao comparar dois documentos do Word.

import aspose.words as aw
from datetime import date

# 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")

Obtenha uma licença de API gratuita

Você pode obter uma licença temporária para usar o Aspose.Words for Python sem limitações de avaliação.

Conclusão

Neste artigo, você aprendeu como comparar dois documentos do Word em Python. Além disso, você viu como controlar a operação de comparação de documentos usando diferentes opções. Além disso, você pode explorar outros recursos do Aspose.Words for Python usando a documentação. Em caso de dúvidas, você pode nos perguntar através do nosso fórum.

Veja também