Como gerar números para imprimir em PDF gratuitamente
A maioria das pessoas que precisa de números sequenciais para impressão — seja para sorteios, identificação de materiais, bilhetes ou controle de acesso — acaba gastando tempo demais configurando planilhas ou pagando por serviços desnecessários. Vou explicar como fazer isso de forma prática, sem depender de softwares caros.
números para imprimir pdf grátis
O termo você encontra em qualquer buscador, mas o que acontece na prática é bem mais simples do que a maioria dos tutoriais sugere. Você não precisa de um software especializado. Precisa de entender dois conceitos: como gerar a sequência e como transformar isso em um PDF imprimível com margens adequadas. Eu comecei a trabalhar com isso há uns anos quando precisei produzir cerca de 2 mil números de identificação para um inventário de equipamentos em uma escola. O cenário era o seguinte: tínhamos orçamento zero, prazo apertado e a impressão precisava ser em folha A4, com dois números por página, espaçados corretamente para corte. Planilhas manuais eram inviáveis. Foi aí que eu descobriu a combinação entre Python e ReportLab, que é gratuita e rodando localmente.
Aqui está o método que eu uso até hoje. Primeiro, você gera os números. Pode ser uma lista simples em CSV, Excel, ou direto no código. O passo mais crítico que as pessoas ignoram é a formatação. Números precisam ter zeros à esquerda se forem identadores fixos, como 0001, 0002, 0003. Se você pular essa etapa, na hora de imprimir vai ter numbers com tamanhos diferentes e a alignment vai quebrar. Para a geração do PDF, a abordagem mais limpa é usar templates. Eu configuro o documento com duas colunas, cada célula com cerca de 8 centímetros de largura por 5 de altura, margem de 1,5 cm em todos os lados. A fonte que funciona melhor para impressão é Helvetica ou Arial, tamanho 14 a 16, centralizada. Isso evita que o texto fique colado nas bordas quando a impressora cortar.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Um problema real que eu enfrentei: ao gerar PDFs com muitos números (mais de 500), o ReportLab começou a travar e o arquivo ficava com 80 megabytes. A solução foi dividir o trabalho em lotes de 100 números por arquivo. Não tente gerar tudo de uma vez. O benefício é que assim você também consegue imprimir em partes, o que facilita na hora de revisar se algum número saiu errado. Se você não quer programar, existem alternativas. O site smallpdf.com e o ilovepdf.com oferecem conversores, mas eles têm limite de páginas gratuitas por dia e exigem upload de arquivo. Para uso pessoal esporádico funciona. Para produção recorrente, eles viram um pesadelo. Eu recomendo fortemente instalar o LibreOffice e usar a função de mala-direta com um arquivo CSV. É mais lento que script, mas não exige internet e o resultado visual é fácil de ajustar na hora.
Outra armadilha comum: as pessoas esquecem da resolução de impressão. PDF gerado em tela (72 DPI) fica borrado na impressora. Configure sempre para 300 DPI no momento da exportação. No LibreOffice, isso é configuração de impressão. No ReportLab, é o parâmetro resolution na criação do canvas. Para quem quer algo rápido e funcional agora, aqui está um exemplo mínimo em Python que eu ajustei ao longo do tempo:
from reportlab.lib.pagesizes import A4
from reportlab.pdfgen import canvas
import csv
c = canvas.Canvas("numeros.pdf", pagesize=A4)
width, height = A4
with open("numeros.csv", newline="") as f:
reader = csv.reader(f)
for i, row in enumerate(reader):
num = row[0].zfill(4)
col = i % 2
row_pos = i // 2
x = 100 + col * 250
y = height - 100 - row_pos * 120
c.drawString(x, y, num)
c.save() Esse script gera dois números por linha vertical, com espaçamento de 120 pontos. Ajuste os valores de x e y conforme sua impressora. Eu costumava perder cerca de 30 minutos testando margens porque a impressora do meu escritório cortava 5 mm de cada borda. A dica é imprimir uma folha de teste em preto e branco antes de produrr a tiragem completa.
Há limitações que ninguém avisa. Scripts como esse não geram números aleatórios com verificação de duplicidade automática. Se você precisa de números únicos para sorteios, precisa adicionar uma etapa de shuffle e verificação. Também não há validação de integridade embutida — se um número falhar na geração, o PDF simplesmente continua sem ele. Sempre faça uma conferência visual dos primeiros e últimos 20 números antes de imprimir o lote todo. O tempo total para dominar esse fluxo, do zero ao PDF pronto, varia de 20 minutos para quem já mexe com código a cerca de 45 minutos usando o LibreOffice pela primeira vez. A curva de aprendizado é baixa, mas o ganho real está na repetição. Depois da terceira vez, você consegue gerar 500 números em menos de 5 minutos.