v1.0.13 · MIT · Go puro · 0 dependencias

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.

$go get github.com/gpdf-dev/gpdf
Leer la guía rápida
main.gogo run .
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)
}
Un programa completo. Ejecútalo y obtendrás hello.pdf.
01

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.

02

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.

03

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

1 block = 2 ms

gpdf2 ms
gofpdf15 ms
gopdf20 ms
Maroto v245 ms

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

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.

Publica PDFs hoy.

Licencia MIT. Gratis para siempre. Probado en Go 1.22 a 1.26. A un go get de distancia.

$go get github.com/gpdf-dev/gpdf
Documentación completa