Выполните очистку до или во время операции Mail Merge

Aspose.Words позволяет применять различные параметры очистки и удаления, такие как удаление полей объединения перед выполнением операции mail merge или удаление неиспользуемых областей во время операции mail merge. В этом разделе объясняется, как удалить объединенные поля и как настроить параметр удаления.

Удаление объединенных полей

Когда вы используете какой-либо длинный шаблон, созданный кем-то другим, вы можете захотеть удалить все поля слияния, которые уже существуют в этом шаблоне, перед выполнением операции mail merge. Вы можете использовать метод DeleteFields, если хотите удалить все объединяемые поля из документа без выполнения операции mail merge. На этот метод не влияют никакие параметры удаления свойства CleanupOptions, и при его выполнении удаляются только объединяемые поля, а не какие-либо содержащие поля или пустые абзацы.

В следующем примере кода показано, как удалить все поля слияния из вашего шаблона без выполнения операции mail merge:

Установите параметр Removing

Aspose.Words позволяет удалять несоединенные поля, области и абзацы из шаблона во время операции mail merge с помощью параметров удаления.

Используйте свойство CleanupOptions вместе с перечислением MailMergeCleanupOptions, чтобы задать параметр удаления. Укажите, какие элементы вы хотите удалить, выбрав следующие параметры (вы можете комбинировать несколько).:

  • Удалить пустые абзацы
  • Удаление неиспользуемых областей
  • Удалить неиспользуемые поля
  • Удалить содержащие поля
  • Удаление статических полей
  • Удаление пустых строк таблицы

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

  1. Если поле слияния в источнике данных не содержит столбца или поля сопоставления.
  2. Если поле слияния в источнике данных содержит поле сопоставления, но данные имеют значение null.

Удалить пустые абзацы

Абзац, содержащий только поля для объединения, будет пустым, когда процесс mail merge удалит все поля для объединения как не объединенные. Эти пустые абзацы могут добавить ненужного пространства и изменить внешний вид сгенерированного отчета. При работе с абзацами в процессе mail merge могут возникнуть две ситуации:

  1. Поле mail merge будет объединено с пустыми данными.
  2. Поле для объединения не используется и будет удалено.

В обоих случаях опция RemoveEmptyParagraphs автоматически удалит пустые абзацы из документа. Кроме того, она удалит поля TableStart и TableEnd для объединения, если остальная часть абзаца пуста.

В следующем примере кода показано, как удалить пустые абзацы:

Удаление неиспользуемых полей

Aspose.Words позволяет удалить все неиспользуемые mail merge поля, присвоив флагу RemoveUnusedFields значение CleanupOptions. Этот параметр позволяет удалить объединяемые поля, которые не содержат соответствующих данных в источнике данных.

В следующем примере кода показано, как автоматически удалить все неиспользуемые поля слияния из документа во время операции mail merge:

Удаление содержащих полей

Объединяемое поле может содержаться внутри другого поля, такого как поле IF или поле формулы. Удалите это внешнее поле, когда объединяемое поле будет объединено или удалено из документа.

В следующем примере кода показано, как удалить поля, содержащие поля слияния, из документа:

Примечание

Удаление пустых строк таблицы

Aspose.Words позволяет удалять пустые строки таблицы, присвоив флагу RemoveEmptyTableRows значение CleanupOptions. Этот параметр позволяет удалять строки таблицы, содержащие пустые поля слияния.

В следующем примере кода показано, как удалить пустые строки таблицы, содержащие области mail merge, из документа: