gerar_pdf_modelo
Generate PDF reports from one or more Coletum form submissions using a saved, file-based, or inline Typst template, including photos and client-template comparison.
Instructions
Gera PDF de um ou vários preenchimentos a partir de um template Typst (modelo salvo, arquivo .typ ou texto).
Os modelos do Coletum (coletum_exportacao, o PDF padrão; coletum_colunas; coletum_fotografico) saem mais simples por gerar_pdf_preenchimento. Aqui entram o modelo do cliente e o template em teste; aparencia leva os mesmos ajustes (campos, fotos por linha, fonte, cor de destaque, orientação) para os modelos que a leem.
Monta a pasta do trabalho (dados.json no contrato versão 1, fotos já baixadas, arquivos e fontes do modelo, coletum.typ) e compila com o Typst, com a raiz nessa pasta: o template não lê nada fora dela e não baixa pacotes. Erro de compilação volta com a mensagem do Typst, linha e coluna, para corrigir o template e gerar de novo. Escolha dos preenchimentos igual à de gerar_pdf_preenchimento (só com filtros, entram os mais recentes: "os 5 últimos" = max_preenchimentos=5). Com comparar_com, devolve a imagem lado a lado para comparar com o modelo do cliente. Salve o modelo aprovado com salvar_modelo e depois gere só pelo nome. Custo: 1 chamada por janela de busca ou página de filtro, mais 1 pela estrutura na 1ª vez; fotos não gastam cota. Links: o de cada PDF (com mais de um, também o da pasta) e o do lado a lado. Ao terminar, sempre mostre ao usuário o caminho completo de cada arquivo (vem no começo da resposta e em mostrar_ao_usuario), em bloco de código, para ele copiar; se ele pedir para abrir, use mostrar_arquivo. Nunca diga só 'na pasta do projeto'.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| logo | No | Caminho de um logo (PNG, JPG, SVG), copiado como /arquivos/logo.<ext> e informado em documento.logo. | |
| modo | No | um_pdf (padrão): um arquivo com todos. um_por_preenchimento: um arquivo para cada. | um_pdf |
| modelo | No | Nome de um modelo salvo ou embutido (listar_modelos), ou caminho de um arquivo .typ. Use isto OU template_typst. | |
| origem | No | Origem da criação: mobile (aplicativo), web_private (sistema, logado) ou web_public (link público). | |
| empresa | No | Nome da empresa ou da conta, em documento.empresa (o modelo coletum_exportacao põe no cabeçalho). | |
| arquivos | No | Arquivos locais extras que o template usa (logo, imagem de fundo), copiados para /arquivos/<nome> no trabalho. Ex.: a imagem que analisar_pdf_modelo salvou. | |
| aparencia | No | Aparência pedida na conversa, em documento.aparencia (os modelos do Coletum aplicam; template próprio lê se quiser): campos{ocultar[],ordem[],mostrar_vazios} (o conector aplica nos campos, pela chave ou pelo rótulo, em qualquer nível), fotos{por_linha 1 a 4}, fonte{tamanho 6 a 16}, cores{destaque #RRGGBB}, pagina{orientacao retrato|paisagem}. Vale por cima da aparência do modelo salvo. Ex.: {"campos": {"ocultar": ["Observações"]}, "fotos": {"por_linha": 1}}. | |
| max_fotos | No | Teto de fotos baixadas nesta chamada. Padrão 200. | |
| variaveis | No | Textos livres para o template, em documento.variaveis (ex.: {"numero_relatorio": "12/2026"}). | |
| criado_por | No | Id do usuário que criou (aparece como autor_id em buscar_preenchimentos). | |
| mapeamento | No | Rótulo do modelo do cliente para o campo do formulário: {"Obra": "RODOVIA", "Km": "CADASTRO/KM", "Responsável": "meta:criado_por"}. Aceita chave ou rótulo, GRUPO[2]/CAMPO e meta:(id, criado_por, criado_em, horario_dispositivo, plataforma, coordenada). Vale por cima do mapeamento do modelo salvo. No template: valor_mapeado(p, "Obra"). | |
| pasta_saida | No | Pasta onde gravar. Padrão: COLETUM_PASTA_SAIDA ou Documentos/Coletum/saidas. | |
| comparar_com | No | Caminho do PDF modelo do cliente: devolve também a imagem lado a lado (modelo à esquerda, amostra à direita) da página indicada. | |
| id_formulario | Yes | Id numérico do formulário (vem de listar_formularios). | |
| preenchimentos | No | Preenchimentos escolhidos, cada um com id e criado_em como buscar_preenchimentos devolve. | |
| template_typst | No | Texto do template Typst, para testar antes de salvar. Lê os dados com #import "/coletum.typ": * (contrato em CONTRATO_DADOS.md da skill pdf-no-modelo). | |
| criado_antes_de | No | Só preenchimentos criados antes desta data (exclusivo). AAAA-MM-DD ou data e hora ISO. | |
| criado_depois_de | No | Só preenchimentos criados depois desta data (exclusivo). AAAA-MM-DD ou data e hora ISO. | |
| pagina_comparada | No | Página do lado a lado. Padrão 1. | |
| ids_preenchimentos | No | Alternativa: só os ids, junto com um período (criado_depois_de/criado_antes_de) que os contenha. | |
| max_preenchimentos | No | Só com filtros (sem ids): quantos entram no máximo. Padrão 20, máximo 100. |