PDFs en Go puro,
sin coordenadas.
gpdf es una biblioteca de generación de PDF en Go puro con licencia MIT. 0 dependencias externas — solo la biblioteca estándar de Go. Declara layouts en una cuadrícula de 12 columnas, incrusta fuentes TrueType para japonés, chino y coreano, y renderiza un documento de una página en unos 13 µs — 10–30× más rápido que gofpdf, gopdf y 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 dependencias
Solo la biblioteca estándar de Go — 0 paquetes externos, sin CGO, sin cadena de herramientas C. Un único binario de go build funciona igual en contenedores Linux, AWS Lambda y el edge.
Cuadrícula de 12 columnas, sin coordenadas
Layout al estilo Bootstrap. r.Col(7) + r.Col(5) = 12. Las decisiones de layout viven en el código, no en una regla de píxeles. Filas y columnas se anidan a cualquier profundidad.
CJK de primera clase
Incrustación de fuentes TrueType integrada. Los 3 sistemas de escritura CJK — japonés, chino y coreano — se renderizan tal cual. Sin tofu (□), sin mojibake, sin parches externos.
Velocidad en números
medida sobre una factura cjk
Benchmark: generación de factura — texto japonés/chino/coreano, 3 subconjuntos de fuentes TrueType incrustados, 1 logo, 1 código QR. Medido por documento en Go 1.25 / Apple M2. Valores redondeados; varían por ejecución.
Por qué los equipos eligen gpdf
hecho para pdfs de producción reales
0 dependencias externas
Solo la biblioteca estándar de Go. Sin CGO, sin cadena de herramientas C, sin módulos nativos. Builds reproducibles en cada ejecución.
Cuadrícula de 12 columnas
Filas y columnas que suman 12. Estilo Bootstrap — familiar desde el primer día. Anidables sin límite.
CJK en 3 sistemas de escritura
Incrusta fuentes TrueType y renderiza japonés (JP), chino (ZH) y coreano (KR) sin herramientas externas.
10–30× más rápido
Alrededor de 13 µs por página en documentos de una sola página. Medido frente a gofpdf, gopdf y Maroto v2.
API Builder fluida
PageBuilder → RowBuilder → ColBuilder. Opciones funcionales (WithXxx) unifican todos los ajustes.
JSON Schema + Go Templates
Declara la estructura del PDF en JSON, muévela con text/template y genera miles de documentos desde una única fuente de verdad.
Preguntas frecuentes
lo esencial antes de comenzar
¿Qué es gpdf?
gpdf es una biblioteca de generación de PDF en Go puro con licencia MIT. Tiene 0 dependencias externas y usa únicamente la biblioteca estándar de Go. Declara layouts con una cuadrícula de 12 columnas al estilo Bootstrap y soporta CJK (japonés, chino y coreano) de forma nativa mediante incrustación de fuentes TrueType.
¿Qué tan rápido es gpdf comparado con las alternativas?
gpdf renderiza un documento PDF de una sola página en aproximadamente 13 microsegundos — 10 a 30 veces más rápido que gofpdf, gopdf y Maroto v2 en comparaciones de benchmark.
¿gpdf soporta japonés, chino y coreano?
Sí. gpdf incrusta fuentes TrueType y renderiza de forma nativa japonés (JP), chino (ZH) y coreano (KR) — los 3 sistemas de escritura CJK. Sin tofu (□) ni mojibake.
¿gpdf es gratis?
Sí. gpdf es completamente de código abierto bajo licencia MIT. Libre para uso personal, comercial y redistribución.
¿Cómo instalo gpdf?
Ejecuta: go get github.com/gpdf-dev/gpdf. Requiere Go 1.22 o posterior (probado hasta Go 1.26). 0 dependencias externas — usa únicamente la biblioteca estándar de Go.
Publica PDFs hoy.
Licencia MIT. Gratis para siempre. Probado en Go 1.22 a 1.26. A un go get de distancia.