PDFs em Go puro,
sem coordenadas.
gpdf é uma biblioteca de geração de PDF em Go puro sob licença MIT. 0 dependências externas — apenas a biblioteca padrão do Go. Declare layouts em uma grade de 12 colunas, incorpore fontes TrueType para japonês, chinês e coreano, e renderize um documento de página única em cerca de 13 µs — 10–30× mais rápido que gofpdf, gopdf e Maroto v2.
package main import ( "os" "github.com/gpdf-dev/gpdf/document" "github.com/gpdf-dev/gpdf/template" ) func main() { doc := template.New( template.WithPageSize(document.A4), template.WithMargins(document.UniformEdges(document.Mm(20))), ) page := doc.AddPage() page.AutoRow(func(r *template.RowBuilder) { r.Col(12, func(c *template.ColBuilder) { c.Text("Hello, World!", template.FontSize(24), template.Bold()) }) }) data, _ := doc.Generate() os.WriteFile("hello.pdf", data, 0644) }
Go puro, 0 dependências
Apenas a biblioteca padrão do Go — 0 pacotes externos, sem CGO, sem cadeia de ferramentas C. Um único binário do go build roda igual em contêineres Linux, AWS Lambda e no edge.
Grade de 12 colunas, sem coordenadas
Layout no estilo Bootstrap. r.Col(7) + r.Col(5) = 12. As decisões de layout ficam no código, não em uma régua de pixels. Linhas e colunas podem ser aninhadas em qualquer profundidade.
CJK de primeira classe
Incorporação nativa de fontes TrueType. Os 3 sistemas de escrita CJK — japonês, chinês e coreano — são renderizados como estão. Sem tofu (□), sem mojibake, sem patches externos.
Velocidade em números
medida sobre uma fatura cjk
Benchmark: geração de fatura — texto japonês/chinês/coreano, 3 subconjuntos de fontes TrueType incorporados, 1 logo, 1 código QR. Medido por documento no Go 1.25 / Apple M2. Valores arredondados; variam por execução.
Por que equipes escolhem gpdf
feito para pdfs de produção reais
0 dependências externas
Apenas a biblioteca padrão do Go. Sem CGO, sem cadeia de ferramentas C, sem módulos nativos. Builds reprodutíveis a cada execução.
Grade de 12 colunas
Linhas e colunas que somam 12. Estilo Bootstrap — familiar desde o primeiro dia. Aninháveis sem limite.
CJK em 3 sistemas de escrita
Incorpore fontes TrueType e renderize japonês (JP), chinês (ZH) e coreano (KR) sem ferramentas externas.
10–30× mais rápido
Cerca de 13 µs por página em documentos de página única. Medido contra gofpdf, gopdf e Maroto v2.
API Builder fluida
PageBuilder → RowBuilder → ColBuilder. Opções funcionais (WithXxx) unificam todos os ajustes.
JSON Schema + Go Templates
Declare a estrutura do PDF em JSON, conduza com text/template e gere milhares de documentos a partir de uma única fonte da verdade.
Perguntas frequentes
o essencial antes de começar
O que é gpdf?
gpdf é uma biblioteca de geração de PDF em Go puro sob licença MIT. Possui 0 dependências externas e usa apenas a biblioteca padrão do Go. Declara layouts com uma grade de 12 colunas no estilo Bootstrap e suporta CJK (japonês, chinês e coreano) nativamente via incorporação de fontes TrueType.
Quão rápido é gpdf comparado com as alternativas?
gpdf renderiza um documento PDF de página única em aproximadamente 13 microssegundos — 10 a 30 vezes mais rápido que gofpdf, gopdf e Maroto v2 em benchmarks comparativos.
gpdf suporta japonês, chinês e coreano?
Sim. gpdf incorpora fontes TrueType e renderiza nativamente japonês (JP), chinês (ZH) e coreano (KR) — os 3 sistemas de escrita CJK. Sem tofu (□) nem mojibake.
gpdf é gratuito?
Sim. gpdf é totalmente open source sob licença MIT. Livre para uso pessoal, comercial e redistribuição.
Como instalo gpdf?
Execute: go get github.com/gpdf-dev/gpdf. Requer Go 1.22 ou posterior (testado até Go 1.26). 0 dependências externas — usa apenas a biblioteca padrão do Go.
Publique PDFs hoje.
Licença MIT. Grátis para sempre. Testado em Go 1.22 a 1.26. A um go get de distância.