Pular para o conteúdo principal

Listas em Modelos - Marcadores e Numeradas

Listas são estruturas fundamentais para organizar e apresentar informações em documentos. PDF4meO mecanismo de modelos do [nome da plataforma] suporta a geração de listas com marcadores e listas numeradas, permitindo que você crie documentos bem estruturados e legíveis com conteúdo dinâmico proveniente de suas fontes de dados.


Listas com marcadores

Gere listas com marcadores inserindo loops foreach dentro de parágrafos formatados com marcadores em seu texto. Word modelo.

Sintaxe básica de lista com marcadores

Crie um parágrafo com marcadores em WordEm seguida, adicione o loop foreach:

<<foreach [bullet in EmployeeNames]>><<[bullet.listFirstName]>> <<[bullet.listLastName]>>
<</foreach>>

Etapas principais:

  1. Em WordCrie um tópico com marcadores (use a formatação de marcadores).
  2. Adicione o loop foreach e mescle os campos.
  3. O loop repetirá o tópico para cada item.

Exemplo: Lista de Nomes de Funcionários

Design do modelo:

Employee Directory:
• <<foreach [bullet in EmployeeNames]>><<[bullet.listFirstName]>> <<[bullet.listLastName]>>
<</foreach>>

Fonte de dados:

{
"companyName": "PDF4me",
"EmployeeNames": [
{
"listFirstName": "Thomas",
"listLastName": "Baskin"
},
{
"listFirstName": "Jacob",
"listLastName": "Gregory"
},
{
"listFirstName": "John",
"listLastName": "Doe"
}
]
}

Resultado gerado:

Employee Directory:
• Thomas Baskin
• Jacob Gregory
• John Doe

Listas Numeradas

Gere listas numeradas usando a mesma abordagem com o loop foreach, mas com formatação de parágrafos numerados. Word.

Sintaxe de lista numerada

Numbered List - Instead of bullets, if you apply the syntax in a numbered paragraph format in Word, the list will be generated as a numbered list with automatic numbering.

Exemplo: Lista de Tarefas

Modelo:

Project Tasks:
1. <<foreach [task in tasks]>><<[task.name]>> - <<[task.status]>>
<</foreach>>

Dados:

{
"tasks": [
{ "name": "Design mockups", "status": "Complete" },
{ "name": "Develop features", "status": "In Progress" },
{ "name": "Testing phase", "status": "Pending" }
]
}

Saída:

Project Tasks:
1. Design mockups - Complete
2. Develop features - In Progress
3. Testing phase - Pending

Listas de vários níveis

Crie estruturas de listas hierárquicas com relações pai-filho usando loops foreach aninhados.

Exemplo de hierarquia de dois níveis

Design do modelo:

<<foreach [manager in employees]>>Manager: <<[manager.listFirstName]>> <<[manager.listLastName]>>
<<foreach [associate in manager.associates]>>Associate: <<[associate.name]>>
<</foreach>><</foreach>>

Importante: Os itens da lista de segundo nível devem ser recuados em seu Word Modelo para criar formatação hierárquica adequada.


Exemplo: Estrutura Organizacional

Estrutura de dados:

{
"companyName": "PDF4me",
"employees": [
{
"listFirstName": "Christopher",
"listLastName": "Nolan",
"associates": [
{ "name": "Will Smith" },
{ "name": "Barry Allen" },
{ "name": "Oliver Queen" }
]
},
{
"listFirstName": "Sarah",
"listLastName": "Parker",
"associates": []
},
{
"listFirstName": "Justin",
"listLastName": "Langer",
"associates": [
{ "name": "Brad Pitt" },
{ "name": "John Smith" }
]
}
]
}

Resultado gerado:

• Manager: Christopher Nolan
○ Associate: Will Smith
○ Associate: Barry Allen
○ Associate: Oliver Queen
• Manager: Sarah Parker
• Manager: Justin Langer
○ Associate: Brad Pitt
○ Associate: John Smith

Lidando com sublistas vazias

Utilize verificações condicionais para lidar com casos em que as sublistas podem estar vazias.

Lista condicional

Modelo:

<<foreach [manager in employees]>>Manager: <<[manager.listFirstName]>> <<[manager.listLastName]>>
<<if [manager.associates.Any()]>>
<<foreach [associate in manager.associates]>>Associate: <<[associate.name]>>
<</foreach>>
<<else>>
No associates assigned
<</if>>
<</foreach>>

Itens de lista formatados

Aplique formatação ao conteúdo dos itens da lista para uma apresentação aprimorada.

Exemplo: Nomes e datas formatados

Modelo:

• <<foreach [employee in employees]>><<[employee.name]:caps>> - Joined: <<[employee.joinDate]:"MMMM yyyy"]>>
<</foreach>>

Dados:

{
"employees": [
{ "name": "john smith", "joinDate": "2020/03/15" },
{ "name": "jane doe", "joinDate": "2021/07/22" }
]
}

Saída:

• John Smith - Joined: March 2020
• Jane Doe - Joined: July 2021

Listas ordenadas

Gere listas em ordens específicas usando métodos de enumeração.

Lista em ordem alfabética

Modelo:

• <<foreach [person in people.OrderBy(p => p.lastName)]>><<[person.lastName]>>, <<[person.firstName]>>
<</foreach>>

Classificado por múltiplas propriedades

Modelo:

• <<foreach [emp in employees.OrderBy(e => e.department).ThenBy(e => e.name)]>><<[emp.name]>> - <<[emp.department]>>
<</foreach>>

Listas filtradas

Exibir apenas os itens que atendem a critérios específicos.

Filtragem condicional

Modelo:

Active Employees:
• <<foreach [emp in employees.Where(e => e.status == "Active")]>><<[emp.name]>>
<</foreach>>

Filtragem baseada na idade

Modelo:

Senior Team Members:
• <<foreach [person in team.Where(p => p.age > 50)]>><<[person.name]>> (Age: <<[person.age]>>)
<</foreach>>

Tipos de listas mistas

Combine diferentes estilos de lista no mesmo documento.

Exemplo: Visão Geral do Projeto

Modelo:

Project Phases (Numbered):
1. <<foreach [phase in phases]>><<[phase.name]>>
<</foreach>>

Team Members (Bulleted):
• <<foreach [member in team]>><<[member.name]>> - <<[member.role]>>
<</foreach>>

Exemplos complexos de vários níveis

Hierarquia de três níveis

Modelo:

<<foreach [dept in departments]>>Department: <<[dept.name]>>
<<foreach [team in dept.teams]>>Team: <<[team.name]>>
<<foreach [member in team.members]>><<[member.name]>> - <<[member.position]>>
<</foreach>>
<</foreach>>
<</foreach>>

Isso cria:

  • Nível 1: Departamento (estilo de marcador 1)
    • Nível 2: Equipe (estilo de bala 2)
      • Nível 3: Membro (estilo de marcador 3)

Design de lista em Word Modelo

Configurando a formatação da lista

  1. Criar estrutura de lista - Usar Wordferramentas de formatação de listas integradas
  2. Escolha o estilo de marcador - Selecione o estilo de marcador ou numeração apropriado
  3. Definir recuo - Configurar níveis de recuo para listas com vários níveis
  4. Adicionar campos de mesclagem - Inserir loops foreach e sintaxe de mesclagem de campos
  5. Manter a formatação - Certifique-se de que a formatação da lista seja aplicada ao texto do modelo.

Níveis de recuo

Para listas com vários níveis:

  • Nível 1: Sem recuo ou recuo de primeiro nível
  • Nível 2: Um aumento de tabulação ou recuo
  • Nível 3: Duas tabulações ou recuo de segundo nível

Word Lida automaticamente com a formatação de marcadores/números com base no nível de recuo.


Aplicações práticas

Caso de uso 1: Agenda de reunião

Modelo:

Meeting Agenda - <<[meetingDate]:"MMMM dd, yyyy">>

1. <<foreach [item in agendaItems]>><<[item.title]>> (<<[item.duration]>> min)
<</foreach>>

Attendees:
• <<foreach [attendee in attendees]>><<[attendee.name]>> - <<[attendee.department]>>
<</foreach>>

Caso de uso 2: Recursos do produto

Modelo:

<<[productName]>> Features:

• <<foreach [feature in features]>><<[feature.name]>> - <<[feature.description]>>
<</foreach>>

Technical Specifications:
1. <<foreach [spec in specifications]>><<[spec.parameter]>>: <<[spec.value]>>
<</foreach>>

Caso de uso 3: Itens da fatura

Modelo:

Order Items:
<<foreach [item in orderItems]>>
<<[$index + 1]>>. <<[item.name]>> - Quantity: <<[item.qty]>> - Price: $<<[item.price]>>
<</foreach>>

Total Items: <<[orderItems.Count()]>>
Total Amount: $<<[orderItems.Sum(i => i.qty * i.price)]>>

Melhores práticas

Design de lista

  1. Formatação consistente - Use o mesmo estilo de lista para tipos de conteúdo semelhantes.
  2. Profundidade adequada - Limite o aninhamento a 3-4 níveis para facilitar a leitura.
  3. Agrupamento lógico - Agrupe itens relacionados.
  4. Hierarquia clara - Use estilos de marcadores diferentes para níveis diferentes

Estrutura de dados

  1. Coleções limpas - Garantir que as coleções contenham dados válidos e completos.
  2. Propriedades consistentes - Utilize nomes de propriedades consistentes em todos os itens.
  3. Lidar com valores nulos - Verifique se há coleções vazias com Any()
  4. Classifique adequadamente - Pré-classifique os dados ou use OrderBy nos modelos.

Desempenho

  1. Limitar o tamanho da lista - Considere a paginação para listas muito longas.
  2. Filtrar com eficiência - Aplique filtros na fonte de dados sempre que possível.
  3. Evite aninhamentos complexos - O aninhamento profundo pode afetar a velocidade de processamento.

:::dica Formatação de listas Aplique a formatação de listas (marcadores, números, recuo) diretamente no seu Word modelo antes de adicionar loops foreach. O mecanismo de modelos preserva a formatação que você definiu em Word. :::