Como usar o Pyticipantes
Guia rápido, passo a passo, para quem vai gerar e enviar certificados.
1. Abrir o app
make run # com Docker/Podman
# ou, sem Docker:
pip install .
pyticipantes
Abra http://127.0.0.1:8000. Para desligar: make down (ou Ctrl+C, sem Docker).
Seus dados ficam na pasta data/ e nunca se perdem ao desligar.
2. Preparar a planilha
Crie um arquivo .xlsx, .xls ou .csv com uma linha por certificado e uma linha de cabeçalho:
| nome | evento | data | hora | local | |
|---|---|---|---|---|---|
| Maria Souza | maria@exemplo.com | Tutorial de Python | 21 de Outubro | 4 horas | Auditório A |
- Os nomes das colunas são livres. Cada coluna vira um campo que você usa nos textos.
- Para enviar e-mail, uma coluna precisa ter o e-mail (por padrão
email). - Quer testar? Baixe a planilha e o fundo de exemplo.
3. Os 4 passos
Na barra do topo escolha o certificado (ou crie outro em + Novo) e siga os passos.
Passo 1 — Planilha
Clique na área tracejada e escolha o arquivo. Confira a tabela de pré-visualização. Aqui você também muda o nome do certificado.
Passo 2 — Layout
- Fundo: envie uma imagem png ou jpg. Orientação: paisagem ou retrato.
- Textos: cada caixa é um texto do certificado. Escolha fonte, tamanho, cor e alinhamento. Em Posição ajuste onde ele fica (% da página, medido a partir do topo e da esquerda).
- Campos: escreva
{nome},{evento}... ou clique num chip da lista para inserir no texto. - Prévia: à direita, atualiza sozinha. Mude o "Participante nº" para ver outras linhas.
- Use + Adicionar texto para mais textos e ↑ ↓ para reordenar.
Tudo é salvo automaticamente.
Formatando nomes
Acrescente |filtro ao campo. Pode combinar: {nome|titulo|abreviar}.
| Filtro | Resultado para joão MANOELA da silva santos souza |
|---|---|
maiusculo |
JOÃO MANOELA DA SILVA SANTOS SOUZA |
minusculo |
joão manoela da silva santos souza |
titulo |
João Manoela da Silva Santos Souza |
primeiro |
joão |
ultimo |
souza |
primeiro_ultimo |
joão souza |
abreviar |
joão M. S. S. souza |
iniciais |
JMSSS |
Dica: {nome|titulo|abreviar} → João M. S. S. Souza. O seletor "Formato ao inserir"
já coloca o filtro para você ao clicar num campo.
Também dá para usar <b>negrito</b>, <i>itálico</i> e <u>sublinhado</u> nos textos.
Se um campo ou filtro estiver escrito errado, ele aparece como está na prévia, então é fácil notar.
Passo 3 — Gerar
Escolha Todos ou Apenas os N primeiros (ótimo para testar) e clique em Gerar.
Os PDFs vão para saida/<certificado>/. Clique num nome da lista para abrir o PDF.
Gerar de novo apaga os PDFs anteriores deste certificado.
Passo 4 — Enviar por e-mail (opcional)
- Informe seu e-mail e a senha de app. No Gmail crie uma em https://myaccount.google.com/apppasswords (não use a senha normal). A senha não é salva.
- Escreva o assunto e o texto. Pode usar campos, ex.:
Olá {nome|primeiro},. - Na lista de destinatários, use o filtro por nome ou e-mail, Marcar visíveis ou Só pendentes visíveis e marque quem vai receber.
- Clique em Enviar e acompanhe o andamento. A tabela mostra quem já recebeu ou deu erro.
Detalhes, limites do Gmail e como reenviar: veja Envio por e-mail.
O histórico fica em saida/<certificado>/envios.log.
Faça um teste antes: gere com "Apenas os 1 primeiros", com seu próprio e-mail na planilha.
4. Não perder seus layouts
- Cada mudança gera um backup em
data/backups/e "Excluir" move paradata/lixeira/. - No passo 2, ⬇ Salvar layout em arquivo baixa um
.zip(sem a planilha) e ⬆ Carregar layout cria um certificado a partir dele. Guarde uma cópia fora do computador. - Nunca apague a pasta
data/.
5. Problemas comuns
| Problema | O que fazer |
|---|---|
| "Não foi possível ler a planilha" | Confira se é .xlsx, .xls ou .csv e se a primeira linha é o cabeçalho. |
Aparece {campo} no certificado |
O nome não bate com a coluna da planilha (maiúsculas não importam). |
| Texto cortado ou fora do lugar | Aumente a Largura ou ajuste Topo/Esquerda em Posição. |
| Falha de autenticação no envio | Use uma senha de app, não a senha da conta. |
| E-mail "sem e-mail" na lista | Ajuste a Coluna com o e-mail em Gerar → Opções. |
Acentos estranhos num .csv |
Salve o CSV como UTF-8. |
| Envio parou com erro 421 / timeout | Limite temporário do Google. Aguarde e reenvie só os pendentes (sem gerar de novo). Veja Envio por e-mail. |
make run falha |
Veja make logs; confirme que Docker ou Podman está iniciado. |