Python: mesclar documentos do Word

2023-12-18 03:26:53

Lidar com um grande número de documentos do Word pode ser muito desafiador. Seja editando ou revisando um grande número de documentos, há muito tempo perdido abrindo e fechando documentos. Além do mais, compartilhar e receber um grande número de documentos Word separados pode ser irritante, pois pode exigir muitas operações repetidas de envio e recebimento tanto por parte do compartilhador quanto do destinatário. Portanto, para aumentar a eficiência e economizar tempo, é aconselhável mesclar documentos do Word relacionados em um único arquivo. Neste artigo, você saberá como usar Spire.Doc for Python para facilmente mesclar documentos do Word através de programas Python.

Instale Spire.Doc for Python

Este cenário requer Spire.Doc for Python e plum-dispatch v1.7.4. Eles podem ser facilmente instalados em seu VS Code por meio do seguinte comando pip.

pip install Spire.Doc

Se você não tiver certeza de como instalar, consulte este tutorial: Como instalar Spire.Doc for Python no código VS

Mesclar documentos do Word inserindo arquivos com Python

O método Document.insertTextFromFile() é usado para inserir outros documentos do Word ao atual, e o conteúdo inserido começará a partir de uma nova página. As etapas detalhadas para mesclar documentos do Word por inserção são as seguintes:

  • Crie um objeto da classe Document e carregue um documento Word usando o método Document.LoadFromFile().
  • Insira o conteúdo de outro documento nele usando o método Document.InsertTextFromFile().
  • Save the document using Document.SaveToFile() method.
  • 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

Mesclar documentos do Word clonando conteúdo com Python

A mesclagem de documentos do Word também pode ser obtida clonando o conteúdo de um documento do Word para outro. Este método mantém a formatação do documento original e o conteúdo clonado de outro documento continua no final do documento atual sem iniciar uma nova página. As etapas detalhadas são as seguintes:

  • Crie dois objetos da classe Document e carregue dois documentos do Word usando o método Document.LoadFromFile().
  • Obtenha a última seção do documento de destino usando o método Document.Sections.get_Item().
  • Percorra as seções do documento a ser clonado e, em seguida, percorra os objetos filhos das seções.
  • Obtenha um objeto filho de seção usando o método Section.Body.ChildObjects.get_Item().
  • Adicione o objeto filho à última seção do documento de destino usando o método Section.Body.ChildObjects.Add().
  • Salve o documento resultante usando o 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

Solicite uma licença temporária

Se desejar remover a mensagem de avaliação dos documentos gerados ou se livrar das limitações de função, por favor solicite uma licença de teste de 30 dias para você mesmo.

Veja também