C#/VB.NET : fusionner des documents Word

2023-07-31 07:04:56

Les longs articles ou rapports de recherche sont souvent rédigés en collaboration par plusieurs personnes. Pour gagner du temps, chaque personne peut travailler sur les parties qui lui sont assignées dans des documents séparés, puis fusionner ces documents en un seul après avoir terminé l'édition. Outre la copie et le collage manuels du contenu d'un document Word à un autre, cet article présente les deux manières suivantes de fusionner des documents Word par programmation à l'aide de Spire.Doc for .NET .

Installer Spire.Doc for .NET

Pour commencer, vous devez ajouter les fichiers DLL inclus dans le package Spire.Doc for.NET en tant que références dans votre projet .NET. Les fichiers DLL peuvent être téléchargés à partir de ce lien ou installés via NuGet.

PM> Install-Package Spire.Doc

Fusionner des documents en insérant le fichier entier

La méthode Document.InsertTextFromFile() fournie par Spire.Doc for .NET permet de fusionner des documents Word en insérant entièrement d'autres documents dans un document. En utilisant cette méthode, le contenu du document inséré commencera à partir d'une nouvelle page. Les étapes détaillées sont les suivantes :

  • Créez une instance de document.
  • Chargez le document Word d'origine à l'aide de la méthode Document.LoadFromFile().
  • Insérez entièrement un autre document Word dans le document d'origine à l'aide de la méthode Document.InsertTextFromFile().
  • Enregistrez le document de résultat à l'aide de la méthode 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

Fusionner des documents en clonant le contenu

Si vous souhaitez fusionner des documents sans commencer une nouvelle page, vous pouvez cloner le contenu d'autres documents à ajouter à la fin du document d'origine. Les étapes détaillées sont les suivantes :

  • Chargez deux documents Word.
  • Parcourez le deuxième document pour obtenir toutes les sections à l'aide de la propriété Document.Sections, puis parcourez toutes les sections pour obtenir leurs objets enfants à l'aide de la propriété Section.Body.ChildObjects.
  • Obtenez la dernière section du premier document à l'aide de la propriété Document.LastSection, puis ajoutez les objets enfants à la dernière section du premier document à l'aide de la méthode LastSection.Body.ChildObjects.Add().
  • Enregistrez le document de résultat à l'aide de la méthode 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

Demander une licence temporaire

Si vous souhaitez supprimer le message d'évaluation des documents générés ou vous débarrasser des limitations de la fonction, veuillez demander une licence d'essai de 30 jours pour toi.

Voir également