Mail Merge szablon ze składni Mustache
Aspose.Words umożliwia tworzenie szablonów ze składnią mustache oprócz znanych szablonów. Mustache jest alternatywnym wariantem składni szablonu, który składa się z nazw tagów zamkniętych i jest wspierany przez obiekt modelu, który zawiera dane szablonu.
Składnia Mustache jest jedyną opcją do użycia z szablonami, które nie zawierają pól, takimi jak szablony HTML i TXT. W przypadku szablonów Word masz dwie opcje użycia pól lub składni Mustache.
Składnia Mustache obsługuje znacznik foreach, który jest alternatywą dla używania Mail Merge z regionami. Zaletą jest więc to, że możesz użyć składni mustache, Jeśli z jakiegoś powodu nie jesteś w stanie lub po prostu nie chcesz używać pól scalania i regionów scalania.
Możesz także połączyć pola Mail Merge z kilkoma dodatkowymi polami za pomocą znacznika foreach, Jak pokazano na poniższym obrazku.
Utwórz szablon Mustache
Pierwszą ważną kwestią do wyjaśnienia jest to, że Mustache nie jest silnikiem szablonów. Mustache to kolejny wariant składni, który jest dostępny dla dowolnego szablonu w load format obsługiwanym przez Aspose.Words. Dlatego możesz utworzyć taki szablon zarówno programowo, jak i za pomocą interfejsu, wystarczy dołączyć określoną składnię i spełnić specyfikację Mustache.
Załóżmy, że musisz wysłać ten sam e-mail do 50 odbiorców, aby spersonalizować powitanie za pomocą odpowiednich imion. Możesz zastąpić imię odbiorcy jakimś symbolem zastępczym w następujący sposób:
Dear {{FirstName}}
I hereby…
Pytanie tutaj: jak utworzyć 50 e-maili z jednego szablonu Mustache? Aby odpowiedzieć na to pytanie, musisz wykonać Mail Merge z regionami, aby wypełnić nawiasy klamrowe dla symboli zastępczych w szablonie rzeczywistymi danymi i wygenerować dokument wyjściowy.
Praca ze składnią Mustache
Mustache jest reprezentowany jako porządek bez logiki, ponieważ nie ma żadnych konkretnych instrukcji przepływu sterowania, takich jak for pętle i if i else warunki. Ale możesz użyć list przetwarzania tagów sekcji i lambdas, aby uzyskać warunkową ocenę i zapętlenie. Aby więc uwzględnić składnię Mustache w operacji Mail Merge, musisz użyć właściwości UseNonMergeFields i ustawić jej wartość na True.
Poniższy przykład kodu pokazuje, jak zastąpić znaczniki Mustache określonymi danymi:
Możesz zauważyć różnicę między dokumentem przed wykonaniem Mail Merge z regionami wraz z zastosowaniem właściwości UseNonMergeFields:
{{#foreach list}}
rozpoczyna sekcję “foreach”, podczas gdy {{/foreach list}}
ją kończy.
I po zastosowaniu Mail Merge z regionami:
Użyj pól IF
, aby utworzyć Mail Merge inteligentny
Aspose.Words umożliwia użycie pól Mail Merge i znaczników Mustache z instrukcją IF
. Pola IF
mogą być używane w dowolnym dokumencie Mail Merge do pomijania niepożądanych spacji i przecinków, jeśli pole jest puste.
Formuła pola IF
jest pokazana poniżej:
{ IF [Condition] [Display Result 1] [Display Result 2] }
Tutaj warunkiem może być pole scalania lub znacznik Mustache.
Na przykład możesz użyć pól IF
, jeśli chcesz wstawić “jego”, “ona”," on “lub” ona " w zależności od płci w następujący sposób:
{ IF { MERGEFIELD Gender } = “MALE” “true text” “false text”}
{ IF “{{ GENDER }}” = “MALE” “true text” “false text”}
Poniższy przykład kodu pokazuje, jak wykonać operację Mail Merge za pomocą znaczników Mustache i pól IF
:
Możesz zauważyć różnicę między dokumentem przed zastosowaniem właściwości UseNonMergeFields:
I po zastosowaniu właściwości UseNonMergeFields: