v1.0.4 · 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.go
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)
}
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
gpdf
2 ms
gofpdf
15 ms
gopdf
20 ms
Maroto v2
45 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

01

¿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.

02

¿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.

03

¿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.

04

¿gpdf es gratis?

Sí. gpdf es completamente de código abierto bajo licencia MIT. Libre para uso personal, comercial y redistribución.

05

¿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.

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