C#/VB.NET: Word-Dokumente zusammenführen

2023-07-31 07:09:28

Lange Arbeiten oder Forschungsberichte werden häufig von mehreren Personen gemeinsam erstellt. Um Zeit zu sparen, kann jede Person an den ihnen zugewiesenen Teilen in separaten Dokumenten arbeiten und diese Dokumente nach Abschluss der Bearbeitung zu einem zusammenführen. Abgesehen vom manuellen Kopieren und Einfügen von Inhalten aus einem Word-Dokument in ein anderes werden in diesem Artikel die folgenden zwei Möglichkeiten zum programmgesteuerten Zusammenführen von Word-Dokumenten mit Spire.Doc for .NET .

Installieren Sie Spire.Doc for .NET

Zunächst müssen Sie die im Spire.Doc for.NET-Paket enthaltenen DLL-Dateien als Referenzen in Ihrem .NET-Projekt hinzufügen. Die DLL-Dateien können entweder über diesen Link heruntergeladen oder über NuGet installiert werden.

PM> Install-Package Spire.Doc

Führen Sie Dokumente zusammen, indem Sie die gesamte Datei einfügen

Die von Spire.Doc for .NET bereitgestellte Methode Document.InsertTextFromFile() ermöglicht das Zusammenführen von Word-Dokumenten, indem andere Dokumente vollständig in ein Dokument eingefügt werden. Bei dieser Methode beginnt der Inhalt des eingefügten Dokuments auf einer neuen Seite. Die detaillierten Schritte sind wie folgt:

  • Erstellen Sie eine Document-Instanz.
  • Laden Sie das ursprüngliche Word-Dokument mit der Methode Document.LoadFromFile().
  • Fügen Sie mit der Methode Document.InsertTextFromFile() ein weiteres Word-Dokument vollständig in das Originaldokument ein.
  • Speichern Sie das Ergebnisdokument mit der Methode 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

Dokumente durch Klonen von Inhalten zusammenführen

Wenn Sie Dokumente zusammenführen möchten, ohne eine neue Seite zu beginnen, können Sie den Inhalt anderer Dokumente klonen und am Ende des Originaldokuments hinzufügen. Die detaillierten Schritte sind wie folgt:

  • Laden Sie zwei Word-Dokumente.
  • Durchlaufen Sie das zweite Dokument, um alle Abschnitte mithilfe der Document.Sections-Eigenschaft abzurufen, und durchlaufen Sie dann alle Abschnitte, um deren untergeordnete Objekte mithilfe der Section.Body.ChildObjects-Eigenschaft abzurufen.
  • Rufen Sie den letzten Abschnitt des ersten Dokuments mit der Eigenschaft „Document.LastSection“ ab und fügen Sie dann die untergeordneten Objekte mit der Methode „LastSection.Body.ChildObjects.Add()“ zum letzten Abschnitt des ersten Dokuments hinzu.
  • Speichern Sie das Ergebnisdokument mit der Methode 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

Beantragen Sie eine temporäre Lizenz

Wenn Sie die Bewertungsmeldung aus den generierten Dokumenten entfernen oder die Funktionseinschränkungen beseitigen möchten, wenden Sie sich bitte an uns Fordern Sie eine 30-Tage-Testlizenz an für sich selbst.

Siehe auch