![Объединить документы Word](images/Merge-Word-Documents.jpg#center)
MS Word — это мощный инструмент, который позволяет настраивать и форматировать ваши профессиональные документы с фантастическим набором функций. Вы можете столкнуться с ситуациями, когда вам нужно объединить несколько документов Word, например, объединить все квитанции в один файл или объединить различные документы с требованиями к программному обеспечению для упрощения управления. Кроме того, объединение файлов упрощает процесс их совместного использования. В этой статье вы узнаете, как объединить несколько документов MS Word с помощью C++.
- C++ API для слияния документов Word
- Объединение документов Word с помощью C++
- Объединение документов Word с дополнительными параметрами
- Получить бесплатную лицензию
C++ API для слияния документов Word
Aspose.Words for C++ — это собственная библиотека C++, позволяющая создавать, изменять и преобразовывать документы Microsoft Word. Кроме того, он также поддерживает объединение нескольких документов Word в один файл. Вы можете либо установить API через NuGet, либо загрузить его напрямую из раздела Загрузки.
PM> Install-Package Aspose.Words.Cpp
Объединение документов Word с помощью C++
Объединение документов Word с Aspose.Words for C++ API очень просто. Вы можете загружать и объединять их всего несколькими строками кода. На следующем изображении показаны два примера файлов Word, которые мы объединим в этой статье.
![Документы Word для слияния](images/Sample1And2-1024x484.png#center)
Ниже приведены шаги для объединения документов Word с помощью C++.
- Загрузите целевой документ с помощью класса Document.
- Загрузите исходный документ с помощью класса Document.
- Используйте Документ->AppendDocument (System::SharedPtrAspose::Words::Document srcDoc, Aspose::Words::ImportFormatMode importFormatMode) экземпляра целевого документа для объединения обоих документов.
- Установите предпочтение стиля для импорта исходного документа с помощью перечисления ImportFormatMode.
- Сохраните объединенный документ Word, используя метод Документ->Сохранить(System::String fileName, Aspose::Words::SaveFormat saveFormat).
Ниже приведен пример кода для объединения документов Word.
// Образцы документов Word для объединения
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";
// Загрузите документы Word для объединения
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);
// Объединить документы с сохранением форматирования исходного файла
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting);
// Путь к выходному файлу
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";
// Сохранить объединенный документ как файл DOCX
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);
На следующих изображениях сравниваются объединенные документы, созданные с помощью ImportFormatMode::KeepSourceFormatting и [ImportFormatMode](https://apireference. aspose.com/words/cpp/namespace/aspose.words#aafaa52cbf0baa49c3225787c23a8c949)::UseDestinationStyles.
![Объединенный документ Word, созданный с помощью ImportFormatOptions::KeepSourceFormatting](images/KeepSourceFormatting-1024x715.png#center)
Вывод, созданный с использованием ImportFormatMode::KeepSourceFormatting
![Объединенный документ Word, созданный с использованием ImportFormatOptions::UseDestinationStyles](images/UseDestinationStyles-1024x718.png#center)
Вывод, созданный с использованием ImportFormatMode::UseDestinationStyles
Объединение документов Word с дополнительными параметрами
Aspose.Words for C++ API предоставляет класс ImportFormatOptions для настройки объединения файлов Word. Ниже приведены параметры, предоставляемые классом ImportFormatOptions.
- IgnoreHeaderFooter: указывает, следует ли игнорировать форматирование содержимого верхних и нижних колонтитулов при использовании режима ImportFormatMode::KeepSourceFormatting.
- IgnoreTextBoxes: Specifies whether to ignore the source formatting of textboxes when the ImportFormatMode::KeepSourceFormatting mode is used.
- KeepSourceNumbering: Specifies how to import the numbering when it conflicts in source and destination documents.
- SmartStyleBehavior: Specifies how to import styles when they have the same names in source and destination documents.
Ниже приведены шаги для объединения нескольких документов Word с дополнительными параметрами:
- Загрузите целевой документ с помощью класса Document.
- Загрузите исходный документ с помощью класса Document.
- Создайте экземпляр класса ImportFormatOptions и задайте нужные параметры.
- Объедините документы, используя Document->AppendDocument( System::SharedPtrAspose::Words::Document srcDoc, Aspose::Words::ImportFormatMode importFormatMode, System::SharedPtrAspose::Words::ImportFormatOptions importFormatOptions).
- Сохраните целевой документ Word, используя метод Документ->Сохранить(System::String fileName, Aspose::Words::SaveFormat saveFormat).
Ниже приведен пример кода для объединения документов Word с дополнительными параметрами.
// Образцы документов Word для объединения
System::String sampleFile1 = u"SourceDirectory\\Sample 1.docx";
System::String sampleFile2 = u"SourceDirectory\\Sample 2.docx";
// Загрузите документы Word для объединения
System::SharedPtr<Aspose::Words::Document> document1 = System::MakeObject<Aspose::Words::Document>(sampleFile1);
System::SharedPtr<Aspose::Words::Document> document2 = System::MakeObject<Aspose::Words::Document>(sampleFile2);
// Установить параметры
auto options = MakeObject<Aspose::Words::ImportFormatOptions>();
options->set_IgnoreHeaderFooter(false);
// Объединить документы с сохранением форматирования исходного файла
document1->AppendDocument(document2, Aspose::Words::ImportFormatMode::KeepSourceFormatting, options);
// Путь к выходному файлу
System::String outputPath = u"OutputDirectory\\merged-doc-out.docx";
// Сохранить объединенный документ как файл DOCX
document1->Save(outputPath, Aspose::Words::SaveFormat::Docx);
На следующих изображениях сравниваются объединенные документы, созданные путем установки для параметра IgnoreHeaderFooter значений true и false.
![Объединенный документ Word, созданный путем установки для параметра IgnoreHeaderFooter значения true](images/IgnoreHeaderTrue-1024x720.png#center)
Вывод, созданный установкой для параметра IgnoreHeaderFooter значения true
![Объединенный документ Word, созданный путем установки для параметра IgnoreHeaderFooter значения false](images/IgnoreHeaderFalse-1024x718.png#center)
Вывод, созданный установкой для параметра IgnoreHeaderFooter значения false
Получить бесплатную лицензию
Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.
Вывод
В этой статье вы узнали, как объединить несколько документов Word с помощью C++. Кроме того, вы узнали, как использовать дополнительные параметры для настройки объединения файлов Word. Aspose.Words for C++ API предоставляет множество функций для работы с файлами Word. Вы можете подробно изучить API, используя официальную документацию. Если у вас есть какие-либо вопросы, свяжитесь с нами на форуме.