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, вам потрібно буде використовувати властивість UseNonMergeFields і призначити йому значення True.

Наступний приклад коду показує, як замінити теги Mustache конкретними даними:

Ви можете помітити різницю між документами перед виконанням Mail Merge з регіонами та застосуванням властивості UseNonMergeFields:

mustache_syntax

І після застосування Mail Merge до регіонів:

mustache_syntax_result

Використовуйте поля 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:

Ви можете помітити різницю між документами до застосування властивості UseNonMergeFields:

mustache_if_field

І після застосування властивості UseNonMergeFields:

mustache-if-field-2.png