C#/VB.NET: fusionar documentos de Word

2023-07-31 07:08:19

Instalado a través de NuGet

PM> Install-Package Spire.Doc

enlaces relacionados

Los documentos largos o los informes de investigación a menudo se completan en colaboración por varias personas. Para ahorrar tiempo, cada persona puede trabajar en sus partes asignadas en documentos separados y luego combinar estos documentos en uno solo después de terminar la edición. Además de copiar y pegar manualmente el contenido de un documento de Word a otro, este artículo demostrará las siguientes dos formas de fusionar documentos de Word mediante programación usando Spire.Doc for .NET .

Instalar Spire.Doc for .NET

Para empezar, debe agregar los archivos DLL incluidos en el paquete Spire.Doc for .NET como referencias en su proyecto .NET. Los archivos DLL se pueden descargar desde este enlace o instalar a través de NuGet.

PM> Install-Package Spire.Doc

Combinar documentos insertando el archivo completo

El método Document.InsertTextFromFile() proporcionado por Spire.Doc for .NET permite fusionar documentos de Word insertando otros documentos por completo en un documento. Usando este método, el contenido del documento insertado comenzará desde una nueva página. Los pasos detallados son los siguientes:

  • Cree una instancia de documento.
  • Cargue el documento de Word original utilizando el método Document.LoadFromFile().
  • Inserte otro documento de Word completamente en el documento original utilizando el método Document.InsertTextFromFile().
  • Guarde el documento de resultados utilizando el 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

Fusionar documentos mediante la clonación de contenidos

Si desea fusionar documentos sin comenzar una nueva página, puede clonar el contenido de otros documentos para agregarlos al final del documento original. Los pasos detallados son los siguientes:

  • Cargue dos documentos de Word.
  • Recorra el segundo documento para obtener todas las secciones usando la propiedad Document.Sections y luego recorra todas las secciones para obtener sus objetos secundarios usando la propiedad Section.Body.ChildObjects.
  • Obtenga la última sección del primer documento usando la propiedad Document.LastSection y luego agregue los objetos secundarios a la última sección del primer documento usando el método LastSection.Body.ChildObjects.Add().
  • Guarde el documento de resultados utilizando el 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 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