Blog
Notas de versão, análises do renderizador e histórias da comunidade do projeto gpdf.
Número de página, cabeçalho e rodapé em PDFs Go com gpdf
Como adicionar cabeçalho, rodapé e 'Page X of Y' a PDFs em Go com gpdf: dois métodos do builder e um paginador de duas passagens que resolve os totais sozinho.
gpdf vs wkhtmltopdf vs Chromium: geração de PDF em 2026
wkhtmltopdf foi arquivado. Chromium consome 170 MB por requisição. gpdf renderiza uma página em 13 µs sem navegador. Comparação honesta para 2026.
Como aninhar um Row dentro de um Col no gpdf?
Não dá — ColBuilder não tem método Row no gpdf. A grade de 12 colunas é plana de propósito. Três idiomas substituem os rows aninhados.
Como faço uma tabela se estender por várias páginas?
Você não faz nada. Passe ao gpdf uma tabela com mais linhas do que cabe, e ele pagina o corpo e repete o cabeçalho em cada página automaticamente.
Como misturo duas fontes no mesmo parágrafo no gpdf?
Para misturar fontes em um parágrafo no gpdf, use c.RichText e defina template.FontFamily em cada span. c.Text só aplica uma fonte à string inteira.
Tabelas em PDFs com Go: larguras, listras zebra, quebra de página
Tabelas são a parte mais difícil de um PDF em Go. gpdf reúne larguras, listras e a repetição de cabeçalho a cada página em uma única chamada Table.
De signintech/gopdf para gpdf: menos cálculo de coordenadas
signintech/gopdf funciona, mas cada célula, linha e cabeçalho é um cálculo (x, y). Este guia mapeia a API do gopdf para gpdf — mesmo Go, sem coordenadas.
Como escalo uma imagem proporcionalmente para caber em uma coluna?
Passe os bytes para c.Image. gpdf já escala mantendo a proporção pela largura da coluna. Use FitWidth ou FitHeight quando precisar de um limite explícito.
Como faço linhas com listras (zebra) em uma tabela?
Passe template.TableStripe na chamada Table. O gpdf pinta as linhas alternadas do corpo com a cor que você fornecer. Sem laço de linhas, sem estilizar célula a célula.
Como adiciono uma fonte TrueType personalizada ao gpdf?
Carregue os bytes do TTF, registre com gpdf.WithFont e referencie o nome da família. Funciona com qualquer TrueType — Inter, Roboto, fontes de ícones.
unipdf é AGPL ou pago. Como migrar para o gpdf.
O unipdf da UniDoc obriga AGPL v3 ou licença comercial por desenvolvedor. Este guia mapeia a API creator do unipdf para gpdf — MIT, zero deps, sem chave.
Pensamento Bootstrap para PDF: a grade de 12 colunas do gpdf
gpdf adota a grade de 12 colunas do Bootstrap para diagramar PDFs. Por que 12, o que mantemos do modelo web e o que descartamos sem dó.
Como defino a largura das colunas em uma tabela do gpdf?
Passe template.ColumnWidths(...) para c.Table. Os valores são porcentagens da largura da Col pai. Some 100 para preencher tudo; valores finais ausentes são distribuídos automaticamente.
Como embuto um PNG com transparência no gpdf?
Passe os bytes do PNG para c.Image. O gpdf decodifica o canal alpha em um objeto SMask do PDF e fundos transparentes são renderizados corretamente.
Como uso negrito e itálico juntos no gpdf?
Basta passar template.Bold() e template.Italic() no mesmo span. Mas fontes TrueType exigem as quatro variantes registradas, senão a busca por BoldItalic cai silenciosamente para a família base.
Gere uma fatura em PDF em Go em menos de 50 linhas
Código completo e executável para gerar uma fatura PDF em Go — 50 linhas com gpdf, zero dependências, sem Chromium, sem CGO. Inclui cabeçalho, tabela e total.
Como usar Source Han Sans JP no gpdf?
Registre a variante TTF de Source Han Sans JP do release no GitHub da Adobe com gpdf.WithFont. Sete pesos, SIL OFL, mesmos glifos que Noto Sans JP.
Por que gpdf é 10–30 vezes mais rápido que outras bibliotecas Go PDF
gpdf gera uma página em 13 µs e um relatório de 100 páginas em 683 µs. Não é truque de tuning — são três decisões arquiteturais que se somam. Percorremos o código.
Por que meu PDF mostra retângulos (tofu) no lugar de japonês?
Retângulos vazios em vez de caracteres japoneses significam que o PDF não encontrou glifos para esses code points. Quatro causas e como corrigir.
Como usar IPAex Gothic no gpdf?
Registre ipaexg.ttf com gpdf.WithFont. IPAex Gothic vem com um único peso Regular sob a IPA Font License; o negrito é sintetizado ou pareado com Mincho.
Como funciona o grid de 12 colunas do gpdf?
O grid de 12 colunas do gpdf usa r.Col(span, fn) com span de 1 a 12. A largura da coluna é (span/12) da linha. Sem breakpoints, sem gutter, previsível por design.
go-pdf/fpdf também foi arquivado. O stack Go PDF de 2026.
jung-kurt/gofpdf foi arquivado em 2021, go-pdf/fpdf em 2025. Este é o stack Go PDF que usamos em 2026 — gpdf, os trade-offs e o porquê.
PDFs em japonês com Go: o guia definitivo de 2026
Como gerar PDFs em japonês com Go em 2026 — fontes, subconjuntos TrueType, kanji/kana/ASCII misturados, e por que não precisa de CGO nem Chromium.
Comparativo de bibliotecas Go PDF 2026
Todas as bibliotecas Go PDF ainda vivas em 2026, comparadas em 4 cargas de trabalho, com licenças, dependências e estado de manutenção.
Como incorporar uma fonte japonesa no gpdf?
Passe os bytes do TTF para gpdf.WithFont ao construir o documento. Três linhas, subset embedding automático e sem CGO.
Como usar Noto Sans JP com gpdf?
Registre o TTF static NotoSansJP-Regular com gpdf.WithFont. Não use a variable font. O gpdf faz subset dos 17.000 glifos para menos de 40 KB por PDF.
gofpdf foi arquivado. Guia de migração para gpdf.
jung-kurt/gofpdf foi arquivado em 2021 e go-pdf/fpdf em 2025. Este guia mapeia toda a API do gofpdf para o gpdf — Go puro, zero dependências, CJK nativo.