Compara documentos de Word usando Python

La comparación de documentos de Word se realiza en varios casos para identificar las diferencias. Varias herramientas en línea le permiten comparar documentos de Word; sin embargo, es posible que deba implementar la función de comparación desde sus aplicaciones. Para lograrlo, este artículo muestra cómo comparar dos documentos de Word en Python.

Biblioteca de Python para comparar documentos de Word

Para comparar documentos DOCX o DOC, usaremos Aspose.Words for Python. Dicha biblioteca le permite automatizar funciones de procesamiento de texto desde sus aplicaciones de Python. Puede instalar la biblioteca desde PyPI usando el siguiente comando pip.

pip install aspose-words

Compara dos documentos de Word en Python

Aspose.Words for Python le facilita la comparación de dos documentos de Word. En el proceso de comparación, las modificaciones se contabilizan en el primer documento como revisiones. Los siguientes son los pasos para comparar dos documentos de Word en Python.

  • Primero, cargue el primer documento de Word usando la clase Document.
  • Luego, cargue el segundo documento usando la clase Document.
  • Llame al método compare(Document, string, datetime.today()) usando el objeto Document del primer documento.
  • Verifique si los documentos son diferentes usando la propiedad Document.revisions.count.
  • Finalmente, guarde el primer documento para obtener las revisiones.

El ejemplo de código siguiente muestra cómo comparar dos documentos de 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")

La siguiente es la captura de pantalla del resultado de la comparación.

Compara dos documentos de Word usando Python

Opciones adicionales para comparar documentos de Word

Aspose.Words también proporciona algunas opciones adicionales para controlar el proceso de comparación de documentos. Por ejemplo, puede ignorar tipos específicos de elementos como encabezados, pies de página, comentarios, etc. Además, puede configurar la granularidad para especificar si comparar los documentos por caracteres o palabras. Los siguientes son los pasos para configurar estas opciones.

  • Primero, cargue el primer documento de Word usando la clase Document.
  • Luego, cargue el segundo documento usando la clase Document.
  • Cree una instancia de la clase CompareOptions y configure las opciones deseadas.
  • Llame al método compare(Document, string, datetime.today(), CompareOptions) utilizando el objeto Document del primer documento.
  • Verifique si los documentos son diferentes usando la propiedad Document.revisions.count.
  • Finalmente, guarde el primer documento para obtener las revisiones.

El siguiente ejemplo de código muestra cómo usar opciones adicionales al comparar dos documentos de 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")

Obtenga una licencia de API gratuita

Puede obtener una licencia temporal para usar Aspose.Words for Python sin limitaciones de evaluación.

Conclusión

En este artículo, ha aprendido a comparar dos documentos de Word en Python. Además, ha visto cómo controlar la operación de comparación de documentos utilizando diferentes opciones. Además, puede explorar otras características de Aspose.Words for Python utilizando la documentación. En caso de cualquier duda, puedes preguntarnos a través de nuestro foro.

Ver también