Включить и добавить документы

Иногда требуется объединить несколько документов в один. Вы можете сделать это вручную или использовать Aspose.Words Вставить или добавить функцию.

Операция вставки позволяет вставить содержимое ранее созданных документов в новый или существующий.

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

Эта статья объясняет, как вставить или добавить документ к другому по-разному и описывает общие свойства, которые вы можете применить при вставке или добавлении документов.

Включить документ

Как упоминалось выше, в Aspose.Words документ представлен как дерево узлов, а операция вставки одного документа в другой заключается в копировании узлов от первого дерева документов ко второму.

Вы можете вставлять документы в различных местах по-разному. Например, вы можете вставить документ через операцию замены, поле слияния во время операции слияния или через закладку.

Вы также можете использовать InsertDocument или InsertDocumentInline метод, аналогичный вставке документа в Microsoft Word, Вставить весь документ в текущую позицию курсора без предварительного импорта.

Следующий пример кода показывает, как вставить документ, используя InsertDocument метод:

Следующий пример кода показывает, как вставить документ, используя InsertDocumentInline метод:

Следующие подразделы описывают варианты, в течение которых вы можете вставить один документ в другой.

Вставьте документ во время поиска и замены операции

Вы можете вставлять документы при выполнении операций поиска и замены. Например, документ может содержать пункты с текстом [Введение] и [Заключение]. Но в итоговом документе нужно заменить эти абзацы содержанием, полученным из другого внешнего документа. Для этого вам нужно будет создать обработчик для замены события.

Следующий пример кода показывает, как создать обработчик для замены события, чтобы использовать его позже в процессе вставки:

Следующий пример кода показывает, как вставить содержимое одного документа в другой во время операции поиска и замены:

Вставить документ во время Mail Merge Операция

Вы можете вставить документ в поле слияния во время mail merge Операция. Например, a mail merge Шаблон может содержать поле слияния, такое как [Summary]. Но в итоговый документ нужно вставить в это поле слияния контент, полученный из другого внешнего документа. Чтобы достичь этого, вам нужно будет создать обработчик для события слияния.

Следующий пример кода показывает, как создать обработчик для события слияния, чтобы использовать его позже в процессе вставки:

Следующий пример кода показывает, как вставить документ в поле слияния с помощью созданного обработчика:

Вставить документ в Bookmark

Вы можете импортировать текстовый файл в документ и вставлять его сразу после закладки, которую вы определили в документе. Для этого создайте закладку, где вы хотите, чтобы документ был вставлен.

Следующий пример кодирования показывает, как вставить содержимое одного документа в закладку в другом документе:

Добавить документ

У вас может быть случай использования, когда вам нужно включить дополнительные страницы из документа в конец существующего документа. Для этого нужно просто позвонить в AppendDocument Способ добавления документа в конец другого документа.

Следующий пример кода показывает, как добавить документ к концу другого документа:

Импорт и вставка узлов вручную

Aspose.Words позволяет автоматически вставлять и добавлять документы без каких-либо предварительных требований к импорту. Однако, если вам нужно вставить или добавить конкретный узел вашего документа, например, раздел или абзац, то сначала вам нужно импортировать этот узел вручную.

Когда вам нужно вставить или добавить один раздел или абзац к другому, вам, по сути, нужно импортировать узлы первого дерева узла документа во второй, используя ImportNode метод. После импорта ваших узлов, вы должны использовать InsertAfter / InsertBefore Способ вставки нового узла после/до опорного узла. Это позволяет настроить процесс вставки, импортируя узлы из документа и вставляя его в заданные позиции.

Вы также можете использовать AppendChild способ добавления нового указанного узла в конец списка дочерних узлов, например, если вы хотите добавить контент на уровне абзаца вместо уровня раздела.

Следующий пример кода показывает, как вручную импортировать узлы и вставлять их после конкретного узла с помощью InsertAfter метод:

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

Общие свойства для включения и добавления документов

Оба InsertDocument и AppendDocument Методы принимают ImportFormatMode и ImportFormatOptions в качестве входных параметров. The ImportFormatMode позволяет контролировать процесс объединения форматирования документов при импорте контента из одного документа в другой путем выбора различных режимов форматирования, таких как: UseDestinationStyles, KeepSourceFormatting, и KeepDifferentStyles. The ImportFormatOptions позволяет выбрать различные варианты импорта, такие как: IgnoreHeaderFooter, IgnoreTextBoxes, KeepSourceNumbering, MergePastedLists, и SmartStyleBehavior.

Aspose.Words позволяет настроить визуализацию полученного документа, когда два документа добавляются вместе в операцию вставки или добавления, используя Section и PageSetup свойств. The PageSetup свойство содержит все атрибуты раздела, такие как SectionStart, RestartPageNumbering, PageStartingNumber, Orientation, и другие. Наиболее распространенным вариантом использования является установка SectionStart свойство определять, появится ли добавленный контент на той же странице или разделится на новый.

Следующий пример кода показывает, как добавить один документ к другому, сохраняя при этом контент от разделения на две страницы: