Actualizado 4 junio 2026 · 12 min de lectura
JSON a PDF: Tutorial completo con API REST
Tienes datos en JSON y necesitas convertirlos a un PDF profesional. Ya sea para facturas, reportes, contratos, o cualquier documento de negocio. En este tutorial te muestro cómo hacerlo con 3 métodos diferentes: Python, JavaScript y cURL.
¿Por qué JSON a PDF con una API?
La conversión JSON→PDF es uno de los problemas más comunes en desarrollo backend:
- ERPs y CRMs que necesitan generar facturas desde la base de datos
- SaaS que entregan reportes mensuales a clientes
- E-commerce que genera notas de venta automáticas
- Contabilidad que exporta estados financieros
Hacerlo con una API externa tiene ventajas claras:
| Aspecto | API externa | Biblioteca local |
|---|---|---|
| Instalación | 0 dependencias | Chromium, fonts, wkhtmltopdf... |
| Mantenimiento | Cero | Updates, CVEs, compatibilidad OS |
| Tiempo primer PDF | 5 minutos | 1-4 horas configurando |
| Docker | Sin cambios a imagen | +300MB por Chromium |
| Costo a 1,000 docs/mes | $9 USD | $0 + tu tiempo |
Método 1: Python con requests
import requests
response = requests.post(
"https://reportia.4l3.org/v1/render",
headers={"Authorization": "Bearer TU_API_KEY"},
json={
"template": "reporte-mensual",
"format": "pdf",
"data": {
"titulo": "Reporte de ventas - Mayo 2026",
"periodo": "01/05/2026 - 31/05/2026",
"resumen": {
"ventas_total": 1250000,
"ticket_promedio": 3400,
"clientes_nuevos": 42
},
"tabla": [
{"producto": "Plan Pro", "unidades": 180, "ingreso": 630000},
{"producto": "Plan Scale", "unidades": 45, "ingreso": 405000},
{"producto": "Lifetime", "unidades": 62, "ingreso": 215000}
],
"moneda": "MXN"
}
}
)
with open("reporte.pdf", "wb") as f:
f.write(response.content)
print(f"PDF generado: {len(response.content) / 1024:.0f} KB")
Método 2: JavaScript (Node.js / fetch)
const response = await fetch("https://reportia.4l3.org/v1/render", {
method: "POST",
headers: {
"Authorization": "Bearer TU_API_KEY",
"Content-Type": "application/json"
},
body: JSON.stringify({
template: "reporte-mensual",
format: "pdf",
data: {
titulo: "Reporte de ventas - Mayo 2026",
resumen: {
ventas_total: 1250000,
ticket_promedio: 3400,
clientes_nuevos: 42
},
tabla: [
{ producto: "Plan Pro", unidades: 180, ingreso: 630000 },
{ producto: "Plan Scale", unidades: 45, ingreso: 405000 }
]
}
})
});
const buffer = await response.arrayBuffer();
const fs = await import("fs");
fs.writeFileSync("reporte.pdf", Buffer.from(buffer));
console.log("PDF generado");
Método 3: cURL (terminal / scripts bash)
curl -X POST https://reportia.4l3.org/v1/render \
-H "Authorization: Bearer TU_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"template": "factura-servicios",
"format": "pdf",
"data": {
"cliente": {"nombre": "Empresa Demo"},
"folio": "F-001",
"total": 5800,
"moneda": "MXN"
}
}' \
--output factura.pdf
Formatos de salida
Reportia no solo genera PDF. El mismo JSON produce diferentes formatos cambiando un campo:
| Formato | Valor | Uso común |
|---|---|---|
| "format": "pdf" | Facturas, contratos, reportes | |
| Excel | "format": "xlsx" | Datos tabulares, contabilidad |
| CSV | "format": "csv" | Importaciones, análisis |
| HTML | "format": "html" | Preview, email embebido |
Plantillas prediseñadas
No necesitas crear una plantilla desde cero. Reportia incluye plantillas para 30 industrias:
- Factura de servicios profesionales
- Factura de productos / e-commerce
- Cotización con vigencia
- Reporte mensual con gráficos
- Nota de venta simplificada
- Estado de cuenta
- Recibo de honorarios
Cada plantilla acepta el mismo formato JSON. Solo cambia el campo template.
50 documentos gratis al mes. Sin tarjeta.
Genera PDFs, Excel y CSV desde JSON en 5 minutos.
Empezar gratis →Preguntas frecuentes
¿Cómo convertir JSON a PDF con una API?
Envía un POST con tu JSON al endpoint /v1/render de Reportia. El campo template define el diseño y data contiene tus valores. Recibes el PDF binario en el response.
¿Qué lenguajes soporta la API?
Cualquier lenguaje que pueda hacer HTTP POST: Python, JavaScript, PHP, Ruby, Go, Java, C#, cURL. La API es REST estándar con JSON.
¿Es gratis convertir JSON a PDF?
Sí, Reportia ofrece 50 conversiones gratuitas al mes sin tarjeta de crédito. Planes pagos desde $9 USD/mes para mayor volumen. Ver precios.