Python: fusionar documentos de Word

2023-12-18 03:24:14

Manejar una gran cantidad de documentos de Word puede resultar un gran desafío. Ya sea editando o revisando una gran cantidad de documentos, se pierde mucho tiempo abriendo y cerrando documentos. Es más, compartir y recibir una gran cantidad de documentos de Word separados puede resultar molesto, ya que puede requerir muchas operaciones repetidas de envío y recepción tanto por parte del que comparte como del receptor. Por lo tanto, para mejorar la eficiencia y ahorrar tiempo, es aconsejable fusionar documentos de Word relacionados en un solo archivo. A partir de este artículo, sabrás cómo usar Spire.Doc for Python para fácilmente fusionar documentos de Word a través de programas Python.

Instalar Spire.Doc for Python

Este escenario requiere Spire.Doc for Python y plum-dispatch v1.7.4. Se pueden instalar fácilmente en su código VS mediante el siguiente comando pip.

pip install Spire.Doc

Si no está seguro de cómo instalarlo, consulte este tutorial: Cómo instalar Spire.Doc for Python en VS Code

Fusionar documentos de Word insertando archivos con Python

El método Document.insertTextFromFile() se utiliza para insertar otros documentos de Word en el actual, y el contenido insertado comenzará desde una nueva página. Los pasos detallados para fusionar documentos de Word mediante inserción son los siguientes:

  • Cree un objeto de la clase Documento y cargue un documento de Word usando el método Document.LoadFromFile().
  • Inserte el contenido de otro documento utilizando el método Document.InsertTextFromFile().
  • Guarde el documento utilizando el método Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create an object of Document class and load a Word document
doc = Document()
doc.LoadFromFile("Sample1.docx")

# Insert the content from another Word document to this one
doc.InsertTextFromFile("Sample2.docx", FileFormat.Auto)

# Save the document
doc.SaveToFile("output/InsertDocuments.docx")
doc.Close()

Python: Merge Word Documents

Fusionar documentos de Word clonando contenidos con Python

También se puede fusionar documentos de Word clonando el contenido de un documento de Word a otro. Este método mantiene el formato del documento original y el contenido clonado de otro documento continúa al final del documento actual sin iniciar una nueva página. Los pasos detallados son los siguientes:

  • Cree dos objetos de la clase Documento y cargue dos documentos de Word utilizando el método Document.LoadFromFile().
  • Obtenga la última sección del documento de destino utilizando el método Document.Sections.get_Item().
  • Recorra las secciones del documento que se van a clonar y luego recorra los objetos secundarios de las secciones.
  • Obtenga un objeto secundario de sección utilizando el método Sección.Body.ChildObjects.get_Item().
  • Agregue el objeto secundario a la última sección del documento de destino utilizando el método Sección.Body.ChildObjects.Add().
  • Guarde el documento resultante utilizando el método Document.SaveToFile().
  • Python
from spire.doc import *
from spire.doc.common import *

# Create two objects of Document class and load two Word documents
doc1 = Document()
doc1.LoadFromFile("Sample1.docx")
doc2 = Document()
doc2.LoadFromFile("Sample2.docx")

# Get the last section of the first document
lastSection = doc1.Sections.get_Item(doc1.Sections.Count - 1)

# Loop through the sections in the second document
for i in range(doc2.Sections.Count):
    section = doc2.Sections.get_Item(i)
    # Loop through the child objects in the sections
    for j in range(section.Body.ChildObjects.Count):
        obj = section.Body.ChildObjects.get_Item(j)
        # Add the child objects from the second document to the last section of the first document
        lastSection.Body.ChildObjects.Add(obj.Clone())

# Save the result document
doc1.SaveToFile("output/MergeByCloning.docx")
doc1.Close()
doc2.Close()

Python: Merge Word Documents

Solicitar una licencia temporal

Si desea eliminar el mensaje de evaluación de los documentos generados o deshacerse de las limitaciones de la función, por favor solicitar una licencia de prueba de 30 días para ti.

Ver también