Объединить документы Word

MS Word — это мощный инструмент, который позволяет настраивать и форматировать ваши профессиональные документы с фантастическим набором функций. Вы можете столкнуться с ситуациями, когда вам нужно объединить несколько документов Word, например, объединить все квитанции в один файл или объединить различные документы с требованиями к программному обеспечению для упрощения управления. Кроме того, объединение файлов упрощает процесс их совместного использования. В этой статье вы узнаете, как объединить несколько документов MS Word с помощью C++.

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 для слияния

Ниже приведены шаги для объединения документов Word с помощью C++.

Ниже приведен пример кода для объединения документов 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

Вывод, созданный с использованием ImportFormatMode::KeepSourceFormatting

Объединенный документ Word, созданный с использованием ImportFormatOptions::UseDestinationStyles

Вывод, созданный с использованием 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 с дополнительными параметрами:

Ниже приведен пример кода для объединения документов 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

Вывод, созданный установкой для параметра IgnoreHeaderFooter значения true

Объединенный документ Word, созданный путем установки для параметра IgnoreHeaderFooter значения false

Вывод, созданный установкой для параметра IgnoreHeaderFooter значения false

Получить бесплатную лицензию

Вы можете попробовать API без ограничений по ознакомительной версии, запросив бесплатную временную лицензию.

Вывод

В этой статье вы узнали, как объединить несколько документов Word с помощью C++. Кроме того, вы узнали, как использовать дополнительные параметры для настройки объединения файлов Word. Aspose.Words for C++ API предоставляет множество функций для работы с файлами Word. Вы можете подробно изучить API, используя официальную документацию. Если у вас есть какие-либо вопросы, свяжитесь с нами на форуме.

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