Mail Merge Шаблон из синтаксиса Mustache

Aspose.Words позволяет создавать шаблоны с синтаксисом mustache в дополнение к знакомым шаблонам. A Mustache - это альтернативный вариант синтаксиса шаблона, который состоит из имен тегов, заключенных в {{ }}, и поддерживается объектом model, который содержит данные для шаблона.

Синтаксис Mustache - это единственный вариант, который можно использовать с шаблонами, не содержащими полей, такими как шаблоны HTML и TXT. В шаблонах Word у вас есть два варианта: либо использовать поля, либо синтаксис Mustache.

Синтаксис Mustache поддерживает тег foreach, который является альтернативой использованию Mail Merge с регионами. Таким образом, преимущество заключается в том, что вы можете использовать синтаксис mustache, если по какой-либо причине вы не можете или просто не хотите использовать поля слияния и области объединения.

Вы также можете объединить поля Mail Merge с некоторыми дополнительными полями, используя тег foreach, как показано на рисунке ниже.

mustache_syntax

Создайте шаблон Mustache

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

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

Dear {{FirstName}}

I hereby…

Вопрос здесь: как вы можете создать 50 электронных писем из одного шаблона Mustache? Чтобы ответить на этот вопрос, вам нужно выполнить Mail Merge с регионами, чтобы заполнить фигурные скобки для заполнителей в шаблоне фактическими данными и сгенерировать выходной документ.

mustache_template

Работа с синтаксисом Mustache

Mustache представлен в виде логического порядка, поскольку в нем отсутствуют какие-либо конкретные инструкции потока управления, такие как циклы for и условия if и else. Но вы можете использовать списки обработки тегов раздела и лямбда-выражения для выполнения условной оценки и циклирования. Таким образом, чтобы включить синтаксис Mustache в операцию Mail Merge, вам нужно будет использовать свойство use_non_merge_fields и установить его значение равным True.

Используйте поля IF, чтобы сделать Mail Merge интеллектуальным

Aspose.Words позволяет использовать поля Mail Merge и теги Mustache с инструкцией IF. Поля IF можно использовать в любом документе Mail Merge для устранения нежелательных пробелов и запятых, если поле пустое.

Формула поля IF приведена ниже:

{ IF [Condition] [Display Result 1] [Display Result 2] }

Здесь условием может быть либо поле слияния, либо тег Mustache.

Например, вы можете использовать поля IF, если вам нужно вставить “его”, “ее”, “он” или “она” в зависимости от пола следующим образом:

{ IF { MERGEFIELD Gender } = “MALE” " истинный текст" “ложный текст” }

{ IF “{{ GENDER }}” = “MALE” " истинный текст" “ложный текст” }

В следующем примере кода показано, как выполнить операцию Mail Merge с тегами Mustache и полями IF:

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

mustache_if_field

И после применения свойства use_non_merge_fields:

mustache-if-field-2.png