documentação

DOCX Guide

Doc.ai complete documentation

DOCX Template Guide

Learn how to create Word documents with dynamic fields — compatible with Brazil and Europe.

docxtemplater

Como o motor processa o template

O arquivo e os dados percorrem exatamente estas etapas.

1. Leitura do DOCX

Analisa corpo, cabeçalhos, rodapés, notas e todas as tags entre chaves.

2. Estrutura dinâmica

Identifica campos simples, listas, condicionais, listas aninhadas e expressões.

3. Normalização dos dados

Compara nomes ignorando maiúsculas, acentos, espaços e pontuação; aceita JSON plano ou estruturado.

4. Agrupamento

Consolida registros repetidos do responsável e reúne listas filhas sem duplicar dependentes.

5. Regras e expressões

Avalia presença, negação, &&, ||, comparações e caminhos como itens.length ou itens[0].nome.

6. Renderização única

Preview, teste e geração final usam o mesmo motor e preservam a formatação original do Word.

Expressões aceitas: {#idade >= 18}, {#tem_filhos && filhos.length > 0}, {#status == "ativo"} e fechamento por nome ou {/}.

Quick Syntax Reference

{variable}

Inserts a variable value

{#array}...{/array}

Loop: repeats block for each item

{#condition}...{/condition}

Shows block if condition = true

{^condition}...{/condition}

Shows block if condition = false

{#parent}{#children}...{/children}{/parent}

Nested loops (hierarchy)

{.}

Current item value in simple loops

{#array}{.}{/array}

Loop over array of strings/numbers

{#idade >= 18}...{/}

Shows block if condition = true

{#itens.length > 0}...{/}

Shows block if condition = true

{%raw}...{%endraw}

Raw block: skips variable processing

Simple

Replace dynamic fields with values

Simple Variable

Replaces with the provided value

DOCX
{nome_completo}
JSON
{ "nome_completo": "João Silva" }
Result
João Silva

Multiple Variables

Use as many as you need in the document

DOCX
Nome: {nome}
CPF: {cpf}
E-mail: {email}
JSON
{
  "nome": "Maria Santos",
  "cpf": "123.456.789-00",
  "email": "maria@email.com"
}
Result
Nome: Maria Santos CPF: 123.456.789-00 E-mail: maria@email.com

Variables with Special Characters

Use names without accents to avoid issues

💡Avoid accents in variable names. Use endereco instead of endereço.
DOCX
Endereço: {endereco_completo}
Profissão: {profissao}
JSON
{
  "endereco_completo": "Rua das Flores, 123 - São Paulo",
  "profissao": "Engenheiro Civil"
}
Result
Endereço: Rua das Flores, 123 - São Paulo Profissão: Engenheiro Civil