v2026.05 · API para generar PDF desde JSON

La API más rápida del mundo para facturas y etiquetas de gran volumen

100 mil páginas por 5 USD. PDFs generados en el edge en pocos milisegundos

Diseñada para escala global Totalmente compatible con PDF/A, Factur-X y ZUGFeRD

Probar la API en vivo Ver referencia API sin tarjeta de crédito · sin instalación · compatible con curl
CPU / render (p50)
4.98ms · 24h
Solicitudes servidas
299/ 24h
Coste
$5 / 100K
Regiones
300+ pops
30+ formatos de código de barras 4 perfiles PDF/A 100K páginas desde $5/mes
Playground

Envía JSON. Genera un PDF.
Capacidades clave, todas en una página.

Edita el DocumentRequest a la izquierda. Llama al worker edge en vivo: esquema real, PDF real, normalmente <5 ms.

Por qué gPdf

gPdf se apoya en cuatro pilares.

01 / 04
$5
per 100K pages

Coste

Corre en Cloudflare Workers — no un contenedor Chromium de 800 MB facturado a $0,40/hora sin hacer nada. $0,00005 por página. Sin mínimos, sin coste por puesto, sin recargos por entorno.

02 / 04
PDF/A
1b · 2b · 3b · 4

Estándares

Perfiles de archivado PDF/A (1b, 2b, 3b, 4) bajo demanda. Factur-X, ZUGFeRD y EN 16931 soportados nativamente — Sección 5 de la referencia API, no un enlace en la hoja de ruta.

03 / 04
JSON → PDF
API + editor, one schema

JSON nativo

pages[], elements[], x/y en milímetros. Sin HTML→PDF, sin Chrome headless, sin DSL de plantillas que aprender. El mismo JSON alimenta la API y el editor visual — diseñadores y desarrolladores editan un único archivo.

04 / 04
3000+
color emoji, embedded

Tipografía

Latín, CJK, árabe (RTL + ligaduras complejas), devanagari, cirílico, bengalí y thai integrados en el motor — más 3000+ emojis en color. Sin `apt install fonts-noto-cjk`. Nunca un glifo perdido.

Funcionalidades

Los detalles esenciales, bien resueltos.

Semántica de documento real, no capturas de navegador en un wrapper PDF.

Browse use cases
/01

Control al píxel

x/y en milímetros, x_anchor para alineación al borde derecho, posicionamiento submilimétrico en etiquetas. Coordenadas, no aproximaciones.

// inside elements[i]
"x_anchor": {
  "reference": "content_right",
  "offset": 6
}
/02

Códigos de barras vectoriales

30+ simbologías incl. GS1-128, QR, PDF417, DataMatrix. Todas vectoriales. Longitud total precisa a 0,1 mm.

// 30+ formats: code128, qrcode, datamatrix, pdf417, ...
"type": "barcode",
"format": "code128",
"content": "INV-2026-001"
Why vector beats raster
/03

Cadena de respaldo de fuentes

font_mode: strict (la familia declarada debe cubrir todos los glifos), prefer (recurre a las familias integradas), auto (lo elige el motor). Agotamiento de auto/prefer devuelve API-504 — fallo explícito, no silencioso.

// inside style{}
"font_family": "NotoSans-Regular",
"font_mode": "prefer"
/04

Modos de conformidad

settings.profile = "pdfa-3b" activa la conformidad PDF/A-3b y el flujo de adjuntos XML incrustado que Factur-X / ZUGFeRD requieren. Un campo, un documento conforme.

// top-level on DocumentRequest
"settings": {
  "profile": "pdfa-3b"
}
PDF/A and Factur-X, explained
/05

Variables + paginación

{page} / {total_pages} resueltos post-layout. keep_together, widow/orphan, bloques page_break.

// element of type "variable"
{ "type": "variable",
  "name": "page",
  "scope": "system" }
/06

Tablas que paginan

row_span entre páginas, encabezados repetidos, alternate_fill, bordes dobles compuestos. El 1 % que siempre se rompe.

// inside table element
"pagination": {
  "keep_spans_together": true
}
/07

Un JSON, dos superficies

El mismo JSON DocumentRequest impulsa POST /api/v1/pdf/render y el editor visual en editor.gpdf.com. Edita visualmente, entrega vía API, o escribe a mano — los tres flujos round-trippan el mismo archivo.

// three routes, one engine
POST /api/v1/pdf/render
POST /api/v1/template-render
POST /api/v1/e-invoice/render
Read the API reference
/08

Construido para facturas

$0,00005 por página, p50 3 ms, CJK embebido, flujo de adjunto PDF/A-3. Los cuatro números que los equipos fintech, ERP y compliance fiscal verifican primero.

// invoice — header + table pattern
{ "size": "a4",
  "elements": [
    { "type": "text",  "x": 18, "y": 22, ... },
    { "type": "table", "x": 18, "y": 60, ... }
  ]}
Why JSON beats HTML→PDF
/09

Construido para etiquetas de envío

Presets de tamaño label_100_150 y label_4_6_in. GS1-128, ITF-14, SSCC vectoriales con precisión de 0,1 mm — transportistas y 3PL imprimen en pico sin códigos de barras rasterizados.

// 4×6 thermal shipping label
{ "size": "label_4_6_in",
  "elements": [{
    "type": "barcode",
    "format": "code128",
    "content": "1Z999AA10123456784" }]}
Shipping-label use case
Benchmarks · sampled 2026-04-29

Medido, no marketinizado.

Factura A4 de una página, 12 líneas, QR + logo. Mediana de 1000 generaciones de PDF. Más bajo es mejor.

Methodology: 1-page A4 invoice · 12 line items · 1 QR + 1 logo · 1K invocations · median (p50) and p99 reported. Sampled 2026-04-29 from a workstation in EU-WEST. PDFShift, DocRaptor, Puppeteer and LaTeX numbers are reproduced from each vendor's published quickstart sample with the same input — re-run on your own workload before deciding. Read the head-to-head comparisons →

0 105ms 210ms 315ms 420ms
01 gPdf ours
3.8ms
02 PDFShift
95ms
03 DocRaptor (Prince)
180ms
04 Puppeteer (headless)
312ms
05 LaTeX (local)
420ms
Precios

Paga por páginas. Nada más.

Sin per-seat. Sin per-environment. Sin gatekeeping por nivel de soporte.

Todos los niveles de pago incluyen las mismas 100.000 páginas y los mismos límites de renderizado. Sólo difieren en personalización de metadatos, disponibilidad de perfiles PDF/A y tarifa de exceso.

Prueba gratuita

/free
$0 para siempre

100 páginas / día · se detiene en cuota.

  • +100 páginas / día · auto-reinicio
  • +Playground + evaluación API
  • +Sin tarjeta requerida
  • +Soporte por email · SLA 1 día laborable
Probar Playground

Basic

/basic
$5 / mes

100.000 páginas / mes incluidas.

  • +100.000 páginas / mes incluidas
  • +Exceso $0.00005 por página
  • +Metadatos PDF estándar · no personalizables
  • +Sólo PDF estándar · sin perfiles PDF/A
  • +Soporte por email · SLA 1 día laborable
Suscribirse

Pro

/pro
$8 / mes

100.000 páginas / mes incluidas. Metadatos personalizables.

  • +100.000 páginas / mes incluidas
  • +Exceso $0.00008 por página
  • +Título · asunto · creador personalizables
  • +Sólo PDF estándar · sin perfiles PDF/A
  • +Soporte por email · SLA 1 día laborable
Suscribirse

Enterprise

/ent
$12 / mes

100.000 páginas / mes incluidas. PDF/A + metadatos completos.

  • +100.000 páginas / mes incluidas
  • +Exceso $0.00012 por página
  • +Los 6 campos de metadatos totalmente personalizables
  • +PDF/A-1b · 2b · 3b · 4 habilitados
  • +Soporte por email · SLA 1 día laborable
Suscribirse
Despliegue privado

¿Necesitas gPdf dentro de tu propio perímetro?

Para equipos regulados, despliegues en nube privada/VPC y entornos de intranet aislados. Ejecuta gPdf como despliegue dedicado en Worker, servidor o detrás de un gateway; los controles de red, requisitos de región, términos del DPA y escalado de soporte se definen por proyecto.

  • +Nube privada, VPC o red aislada
  • +Despliegue dedicado Worker/servidor
  • +Términos DPA y controles de residencia
  • +Modelo de soporte definido por adelantado
Contacto para despliegue privado · soon
FAQ

Preguntas que los desarrolladores realmente hacen.

Doce respuestas — citadas textualmente por el JSON-LD FAQPage que consumen los Google rich results.

/01

¿Qué tan rápido renderiza gPdf un PDF?

El p50 es de 3 ms y el p99 de 8 ms en una sola página A4 medido sobre 1000 invocaciones. El tiempo total en el edge, incluyendo la red, suele ser de 8 a 15 ms.

/02

¿Qué formato de entrada acepta la API?

Un cuerpo DocumentRequest en JSON. Páginas, elementos, capas, marcas de agua, encabezados, pies y tablas se expresan estructuralmente — sin HTML, sin Markdown, sin paso de layout del navegador.

/03

¿Cómo se compara gPdf con Puppeteer o Chrome headless?

Chromium headless funciona a 200-800 ms por renderizado y necesita un contenedor de 800 MB. gPdf renderiza la misma página A4 en 3 ms dentro de un isolate V8 de 1 MB, sin arranque en frío. La compensación es el formato de entrada: gPdf toma un DocumentRequest JSON, no HTML crudo.

/04

¿Cuáles son los endpoints de la API gPdf?

Tres: /api/v1/pdf/render toma un DocumentRequest completo para control a nivel de píxel. /api/v1/template-render toma template_id más un array de datos para sistemas con un template publicado. /api/v1/e-invoice/render produce facturas híbridas Factur-X / ZUGFeRD (PDF/A-3 + XML embebido). Los tres comparten el mismo motor, los mismos límites de velocidad y la misma superficie de códigos de error.

/05

¿Necesito instalar fuentes en mi servidor para chino, japonés o coreano?

No. NotoSans CJK está embebido y una cadena de fallback automático maneja los glifos faltantes. Nunca verás cuadros tofu y no necesitas apt install fonts-noto-cjk en tu runtime.

/06

¿Qué códigos de barras puedo renderizar?

Más de 30 simbologías incluyendo QR, GS1-128, PDF417, DataMatrix, Aztec, MaxiCode y Code 128. Todas vectoriales. La longitud total del código de barras está dentro de 0,1 mm del tamaño solicitado — suficientemente preciso para anchos de etiqueta GS1 e ITF-14.

/07

¿gPdf produce salidas conformes a PDF/A o factura electrónica?

Sí. PDF/A-1b, 2b, 3b y 4 son seleccionables por solicitud. Los flujos de adjuntos Factur-X y ZUGFeRD son compatibles para escenarios de factura electrónica.

/08

¿Puede gPdf producir facturas electrónicas Factur-X, ZUGFeRD o EN 16931?

Sí. Configura settings.profile en pdfa-3b y adjunta el payload XML estructurado como flujo de archivo. Factur-X y ZUGFeRD se basan en PDF/A-3 — requerido para el mandato alemán de e-facturación ya en vigor, y el mandato francés B2B desde septiembre de 2026.

/09

¿Dónde se ejecuta realmente gPdf?

Dentro de isolates V8 de Cloudflare Workers. No hay contenedor Chromium, ni calentamiento de Lambda, ni persistencia de documento después de la solicitud.

/10

¿gPdf almacena mis PDFs o datos de entrada?

No. El renderizador es sin estado. Tu DocumentRequest vive en un isolate V8 durante los pocos milisegundos del renderizado, luego desaparece. gPdf no tiene capa de caché ni almacenamiento de documentos — la ausencia de estado es el contrato, no una opción.

/11

¿Hay un nivel gratuito?

Sí. La prueba gratuita ofrece 100 páginas por día, sin tarjeta de crédito. Se reinicia diariamente y se detiene en el cuota — sin facturas sorpresa. Los niveles de pago comienzan en $5 al mes por 100.000 páginas.

/12

¿Cómo empiezo a usar gPdf?

Abre el playground arriba, edita el DocumentRequest y pulsa Generar PDF — el worker en vivo del edge devuelve un PDF real. Copia el snippet curl en tu terminal para llamarlo desde cualquier sitio. El playground no requiere instalación ni tarjeta de crédito; sólo se necesita una cuenta para emitir tu propia API key.

Del blog

Ensayos de ingeniería, recientes.

Ver todas las publicaciones
  1. Cómo elegir una API de PDF en 2026: 8 preguntas que debes hacer

    Un marco de decisión neutral para elegir una API de generación de PDF. Ocho preguntas que predicen si seguirás satisfecho dentro de 12 meses.

  2. gPdf vs DocRaptor: por qué el renderizado en el edge le gana al HTML-a-PDF

    DocRaptor usa Prince para convertir HTML a PDF en un backend alojado. gPdf renderiza JSON estructurado directamente en el edge de Cloudflare. La diferencia de precio es 18×. Aquí el porqué no es un anzuelo.

  3. PDF/A y Factur-X explicados para ingenieros (sin la jerga legal)

    Qué restringen realmente los perfiles PDF/A, por qué Factur-X / Facturae son obligatorios en España desde 2026, y el pipeline más pequeño práctico para emitir desde un renderizador JSON.

Confianza

Compliance y residencia de datos

Ingeniería auditable más el papeleo — ambos registros, ambos verificables.

SOC2

SOC 2 Type II

Auditoría programada Q3 2026 · evidencia bajo solicitud.

GDPR

RGPD + DPA

Cláusulas contractuales tipo disponibles bajo solicitud.

REGION

Residencia de datos

Opciones de residencia en UE, US, APAC y SA. Los requisitos de región se definen por contrato.

STATELESS

Sin estado por defecto

Sin persistencia de documentos. No hay capa de caché ni almacenamiento de documentos en el producto.

BENCHED

Benchmarks públicos

Competidores nombrados, metodología completa, fecha de muestreo. Cada benchmark de esta página es reproducible — vuelve a ejecutarlo en tu propia carga antes de decidir.

DETERMINISTIC

Determinista

Misma entrada → PDF byte-idéntico. Diffeable. Testable en CI sin deriva de snapshot.