Категория

C#/VB.NET: объединение документов Word

2023-07-31 07:10:14 zaki zou

Длинные статьи или исследовательские отчеты часто составляются совместно несколькими людьми. Чтобы сэкономить время, каждый человек может работать над назначенными ему частями в отдельных документах, а затем объединять эти документы в один после завершения редактирования. Помимо ручного копирования и вставки содержимого из одного документа Word в другой, в этой статье будут продемонстрированы следующие два способа программного слияния документов Word с помощью Spire.Doc for .NET .

Установите Spire.Doc for .NET

Для начала вам необходимо добавить файлы DLL, включенные в пакет Spire.Doc for .NET, в качестве ссылок в ваш проект .NET. Файлы DLL можно загрузить по этой ссылке или установить через NuGet.

PM> Install-Package Spire.Doc

Объединение документов путем вставки всего файла

Метод Document.InsertTextFromFile(), предоставляемый Spire.Doc for .NET, позволяет объединять документы Word путем полной вставки других документов в документ. При использовании этого метода содержимое вставленного документа будет начинаться с новой страницы. Подробные шаги следующие:

  • Создайте экземпляр документа.
  • Загрузите исходный документ Word с помощью метода Document.LoadFromFile().
  • Вставьте другой документ Word полностью в исходный документ, используя метод Document.InsertTextFromFile().
  • Сохраните результирующий документ с помощью метода 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

Объединение документов путем клонирования содержимого

Если вы хотите объединить документы, не начиная новую страницу, вы можете клонировать содержимое других документов, чтобы добавить их в конец исходного документа. Подробные шаги следующие:

  • Загрузите два документа Word.
  • Прокрутите второй документ, чтобы получить все разделы, используя свойство Document.Sections, а затем прокрутите все разделы, чтобы получить их дочерние объекты, используя свойство Section.Body.ChildObjects.
  • Получите последний раздел первого документа, используя свойство Document.LastSection, а затем добавьте дочерние объекты в последний раздел первого документа, используя метод LastSection.Body.ChildObjects.Add().
  • Сохраните результирующий документ с помощью метода 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

Подать заявку на временную лицензию

Если вы хотите удалить оценочное сообщение из сгенерированных документов или избавиться от функциональных ограничений, пожалуйста запросить 30-дневную пробную лицензию для себя.

Смотрите также