C#/VB.NET: mesclar documentos do Word

2023-07-31 07:11:00 zaki zou

Instalado via NuGet

PM> Install-Package Spire.Doc

Links Relacionados

Artigos longos ou relatórios de pesquisa geralmente são concluídos de forma colaborativa por várias pessoas. Para economizar tempo, cada pessoa pode trabalhar em suas partes atribuídas em documentos separados e, em seguida, mesclar esses documentos em um após concluir a edição. Além de copiar e colar manualmente o conteúdo de um documento do Word para outro, este artigo demonstrará as duas maneiras a seguir de mesclar documentos do Word programaticamente usando Spire.Doc for .NET .

Instalar o Spire.Doc for .NET

Para começar, você precisa adicionar os arquivos DLL incluídos no pacote Spire.Doc for.NET como referências em seu projeto .NET. Os arquivos DLL podem ser baixados deste link ou instalados via NuGet.

PM> Install-Package Spire.Doc

Mesclar documentos inserindo o arquivo inteiro

O método Document.InsertTextFromFile() fornecido pelo Spire.Doc for .NET permite mesclar documentos do Word inserindo outros documentos inteiramente em um documento. Usando este método, o conteúdo do documento inserido começará em uma nova página. As etapas detalhadas são as seguintes:

  • Crie uma instância de Documento.
  • Carregue o documento original do Word usando o método Document.LoadFromFile().
  • Insira outro documento do Word inteiramente no documento original usando o método Document.InsertTextFromFile().
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace MergeWord
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Create a Document instance
                Document document = new Document();
    
                //Load the original Word document
                document.LoadFromFile("Doc1.docx", FileFormat.Docx);
    
                //Insert another Word document entirely to the original document
                document.InsertTextFromFile("Doc2.docx", FileFormat.Docx);
    
                //Save the result document
                document.SaveToFile("MergedWord.docx", FileFormat.Docx);
            }
        }
    }

C#/VB.NET: Merge Word Documents

Mesclar documentos clonando conteúdo

Se você deseja mesclar documentos sem iniciar uma nova página, pode clonar o conteúdo de outros documentos para adicionar ao final do documento original. As etapas detalhadas são as seguintes:

  • Carregue dois documentos do Word.
  • Percorra o segundo documento para obter todas as seções usando a propriedade Document.Sections e, em seguida, percorra todas as seções para obter seus objetos filhos usando a propriedade Section.Body.ChildObjects.
  • Obtenha a última seção do primeiro documento usando a propriedade Document.LastSection e adicione os objetos filhos à última seção do primeiro documento usando o método LastSection.Body.ChildObjects.Add().
  • Salve o documento resultante usando o método Document.SaveToFile().
  • C#
  • VB.NET
using Spire.Doc;
    
    namespace MergeWord
    {
        class Program
        {
            static void Main(string[] args)
            {
                //Load two Word documents
                Document doc1 = new Document("Doc1.docx");
                Document doc2 = new Document("Doc2.docx");
    
                //Loop through the second document to get all the sections
                foreach (Section section in doc2.Sections)
                {
    
                    //Loop through the sections of the second document to get their child objects
                    foreach (DocumentObject obj in section.Body.ChildObjects)
                    {
    
                        // Get the last section of the first document
                         Section lastSection = doc1.LastSection;
    
                        //Add all child objects to the last section of the first document
                        lastSection.Body.ChildObjects.Add(obj.Clone());
                    }
                }
    
                // Save the result document
                doc1.SaveToFile("MergeDocuments.docx", FileFormat.Docx);
            }
        }
    } 

C#/VB.NET: Merge Word Documents

Solicitar uma licença temporária

Se você deseja 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