Text
Renderiza texto fixo na posição indicada. Não depende de dados — o conteúdo é definido diretamente no JSON.
JSON
{
"type": "text",
"id": "title",
"x": 40,
"y": 20,
"width": 240,
"height": 40,
"content": "INVOICE",
"fontSize": 32,
"bold": true,
"color": "1976d2",
"align": "center",
"verticalAlign": "middle",
"padding": 6,
"hasBorder": true,
"borderColor": "1976d2",
"borderWidth": 1,
"borderDashed": false
}Propriedades
| Propriedade | Tipo | Padrão | Descrição |
|---|---|---|---|
content | string | — | Texto a ser exibido |
zIndex | int | 0 | Ordem de empilhamento — valores maiores ficam acima (use -1 para fundos) |
width | double | 120.0 | Largura da caixa de texto |
height | double | 20.0 | Altura da caixa de texto |
fontSize | double | 12.0 | Tamanho da fonte em pontos |
bold | bool | false | Negrito |
italic | bool | false | Itálico |
color | string | "000000" | Cor em hexadecimal (sem #) |
align | string | "left" | Alinhamento horizontal: left, center, right |
verticalAlign | string | "top" | Alinhamento vertical: top, middle, bottom |
padding | double | 0.0 | Espaçamento interno da caixa |
hasBorder | bool | false | Exibir borda |
borderColor | string | "000000" | Cor da borda |
borderWidth | double | 1.0 | Espessura da borda |
borderDashed | bool | false | Borda tracejada |
borderDashGap | double | 4.0 | Espaçamento do tracejado |
wrap | bool | false | Permite quebra de linha automática (multi-linha) |
Quebra de linha
Por padrão o elemento de texto exibe o conteúdo em uma única linha truncada com …. Para parágrafos longos (contratos, observações, endereços), ative wrap: true:
{
"type": "text",
"id": "clausula_1",
"x": 0,
"y": 180,
"width": 535,
"height": 40,
"content": "A COMODANTE cede e transfere o imóvel à COMODATÁRIA, gratuitamente, a título de comodato, para os fins especificados neste instrumento.",
"fontSize": 9,
"wrap": true
}TIP
Quando wrap: true, defina height com folga suficiente para acomodar o texto completo — o container não cresce automaticamente na renderização posicional do Sulfite.
Variáveis de contexto
O conteúdo pode incluir variáveis substituídas na renderização:
{ "content": "Página {page} de {totalPages}" }Tokens {key} são interpolados usando os dados do contexto atual — rowContext (linha de detalhe) ou payload (cabeçalho/rodapé):
{ "content": "FONE {emit_fone}" }
{ "content": "CEP {emit_cep}" }Se a chave não existir no contexto da linha, o sistema tenta o payload global; se não encontrar em nenhum, o token é mantido literal.
| Variável | Valor |
|----------|-------|
| `{page}` | Número da página atual |
| `{totalPages}` | Total de páginas |
Essas variáveis funcionam no PDF. Nos outros formatos, são substituídas por valores fixos.