Mail Merge Modelo da sintaxe Mustache

Aspose.Words permite criar modelos com sintaxe mustache além dos modelos familiares. A Mustache é uma variante alternativa da sintaxe do modelo que consiste em nomes de tags delimitados por e é apoiada por um objeto de modelo que contém os dados para o modelo.

A sintaxe Mustache é a única opção a ser usada com modelos que não contêm campos, como modelos HTML e TXT. Com os modelos do Word, tem duas opções para utilizar campos ou a sintaxe Mustache.

A sintaxe Mustache suporta a tag foreach, que é uma alternativa para usar Mail Merge com regiões. Portanto, o benefício é que você pode usar a sintaxe mustache se, por algum motivo, não puder ou simplesmente não quiser usar campos de mesclagem e regiões de mesclagem.

Você também pode combinar campos Mail Merge com alguns campos adicionais usando a tag foreach, conforme mostrado na figura abaixo.

mustache_syntax_aspose_words_java

Criar um modelo Mustache

O primeiro ponto importante a esclarecer é que Mustache não é um mecanismo de modelagem. Mustache é outra variante de sintaxe que está disponível para qualquer modelo em um formato da carga suportado por Aspose.Words. Portanto, você pode criar tal modelo tanto programaticamente quanto por meio de uma interface, basta incluir certa sintaxe e cumprir a especificação Mustache.

Vamos supor que você precise enviar o mesmo e-mail para 50 destinatários para personalizar a saudação com seus nomes correspondentes. Você pode substituir o primeiro nome do destinatário por algum espaço reservado como o seguinte:

Dear {{FirstName}}

I hereby…

A questão aqui: como você pode criar 50 e-mails a partir de 1 Modelo Único Mustache? Para responder a isso, você precisa executar um Mail Merge com regiões para preencher as chaves para espaços reservados no modelo com dados reais e gerar um documento de saída.

mustache_template_aspose_words_java

Trabalhar com a sintaxe Mustache

Mustache é representado como uma ordem sem lógica, pois carece de quaisquer instruções de fluxo de controle específicas, como for loops e if e else condições. Mas você pode usar as listas de processamento de tags de seção e lambdas para obter avaliação condicional e loop. Portanto, para incluir a sintaxe Mustache na operação Mail Merge, você precisará usar a propriedade UseNonMergeFields e definir seu valor como True.

O exemplo de código a seguir mostra como substituir as tags Mustache por dados específicos:

Você pode notar a diferença entre o documento antes de executar o Mail Merge com regiões, juntamente com a aplicação da propriedade UseNonMergeFields:

mustache_syntax_aspose_words_java

E depois de aplicar o Mail Merge com regiões:

mustache_syntax_result_aspose_words_java

Use IF campos para tornar um Mail Merge inteligente

Aspose.Words permite que você use campos Mail Merge e tags Mustache com a instrução IF. Os campos IF podem ser usados em qualquer documento Mail Merge para suprimir espaços e vírgulas indesejados se um campo estiver em branco.

A fórmula do campo IF é mostrada abaixo:

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

Aqui, a condição pode ser um campo de mesclagem ou uma tag Mustache.

Por exemplo, você pode usar os campos IF se precisar inserir “his”, “her”," he “ou” she", dependendo do sexo, da seguinte forma:

{ IF { MERGEFIELD Gender } = “MALE” “Texto verdadeiro” “texto falso”}

{ IF “{{ GENDER }}” = “MALE” “Texto verdadeiro” “texto falso”}

O exemplo de código a seguir mostra como executar uma operação Mail Merge com tags Mustache e campos IF:

Você pode notar a diferença entre o documento antes de aplicar a propriedade UseNonMergeFields:

mustache_if_field_aspose_words_java

E depois de aplicar a propriedade UseNonMergeFields:

mustache_if_field_2_aspose_words_java