Mail Merge šablona z Mustache syntaxe

Aspose.Words umožňuje vytvářet šablony se syntaxí mustache kromě známých šablon. Mustache je alternativní varianta syntaxe šablony, která se skládá z názvů značek uzavřených objektem modelu, který obsahuje data pro šablonu, a je podpořen objektem modelu.

Syntaxe Mustache je jedinou možností, kterou lze použít u šablon, které neobsahují pole, například šablony HTML a TXT. U šablon Word máte dvě možnosti buď použít pole, nebo syntaxi Mustache.

Syntaxe Mustache podporuje značku foreach, což je alternativa pro použití Mail Merge s regiony. Výhodou je, že můžete použít syntaxi mustache, Pokud z nějakého důvodu nejste schopni nebo jednoduše nechcete používat slučovací pole a slučovací oblasti.

Můžete také kombinovat pole Mail Merge s některými dalšími poli pomocí značky foreach, Jak je znázorněno na obrázku níže.

mustache_syntax

Vytvořte šablonu Mustache

Prvním důležitým bodem, který je třeba objasnit, je, že Mustache není šablonovací motor. Mustache je další varianta syntaxe, která je k dispozici pro jakoukoli šablonu v load format podporované Aspose.Words. Proto můžete takovou šablonu vytvořit programově i prostřednictvím rozhraní, stačí zahrnout určitou syntaxi a vyhovět specifikaci Mustache.

Předpokládejme, že musíte poslat stejný e-mail 50 příjemcům, abyste si přizpůsobili pozdrav odpovídajícími křestními jmény. Křestní jméno příjemce můžete nahradit nějakým zástupným symbolem jako následující:

Dear {{FirstName}}

I hereby…

Otázka zde: jak můžete vytvořit 50 e-mailů z 1 jediné šablony Mustache? Chcete-li na to odpovědět, musíte provést Mail Merge s regiony, abyste vyplnili složené závorky pro zástupné symboly v šabloně skutečnými daty a vygenerovali výstupní dokument.

mustache_template

Práce se syntaxí Mustache

Mustache je reprezentován jako řád bez logiky, protože postrádá jakékoli specifické příkazy řídicího toku, jako jsou for smyčky a if a else podmínky. Ale můžete použít sekci tagy zpracování seznamů a lambda k dosažení podmíněného vyhodnocení a opakování. Chcete-li tedy zahrnout syntaxi Mustache do operace Mail Merge, budete muset použít vlastnost UseNonMergeFields a nastavit její hodnotu na True.

Následující příklad kódu ukazuje, jak nahradit značky Mustache konkrétními daty:

Rozdíl mezi dokumentem si můžete všimnout před provedením Mail Merge s regiony spolu s použitím vlastnosti UseNonMergeFields:

mustache_syntax

A po použití Mail Merge s regiony:

mustache_syntax_result

Pomocí polí IF Vytvořte Mail Merge inteligentní

Aspose.Words umožňuje používat pole Mail Merge a značky Mustache s příkazem IF. Pole IF lze použít v jakémkoli dokumentu Mail Merge k potlačení nežádoucích mezer a čárek, pokud je pole prázdné.

Vzorec pole IF je uveden níže:

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

Zde může být podmínkou buď slučovací pole, nebo značka Mustache.

Pole IF můžete například použít, pokud potřebujete vložit “jeho”, “její”, " on “nebo” ona " v závislosti na pohlaví jako následující:

{ IF { MERGEFIELD Gender } = “MALE” “true text” “false text”}

{ IF “{{ GENDER }}” = “MALE” “true text” “false text”}

Následující příklad kódu ukazuje, jak provést operaci Mail Merge se značkami Mustache a poli IF:

Rozdíl mezi dokumentem si můžete všimnout před použitím vlastnosti UseNonMergeFields:

mustache_if_field

A po použití vlastnosti UseNonMergeFields:

mustache-if-field-2.png