Markdown a PDF
Markdown a PDF es una API que convierte texto en Markdown directamente a un PDF con estilo (tipografía, tablas, bloques de código), sin que tengas que escribir HTML ni CSS. Perfecto para informes o documentos generados desde una nota de Notion/Obsidian o un texto plano.
Cómo funciona
Le mandas el Markdown y por dentro pasa dos pasos: primero se convierte a HTML (mismo motor que Markdown a HTML), y ese HTML se renderiza a PDF con un estilo por defecto sencillo y legible, ya incluido. No hace falta que definas nada de diseño.
¿Necesitas tu propio diseño? Usa Markdown a HTML y luego HTML a PDF con tu CSS.
Lo único que necesitas
- Tu API key. La creas en tu panel con "+ Crear llave". Se muestra una sola vez, así que cópiala y guárdala.
- En tu plataforma de automatización, un paso de tipo "HTTP Request" / "Hacer una petición HTTP" (lo tienen n8n, Make, Zapier, Pipedream…).
Cómo usarlo en n8n (paso a paso)
En el nodo HTTP Request:
- Method:
POST - URL:
https://api.cofferdock.com/markdown-to-pdf - Send Headers: actívalo y añade dos:
x-api-key= tu llave, yContent-Type=application/json - Send Body: actívalo → Body Content Type: JSON →
{ "markdown": "# Informe\n\nDatos del mes." } - En Options → Response → Response Format: elige File
En Make: mismo método y URL, en Body el mismo JSON, y la respuesta trátala como un fichero binario.
Opciones (dentro del JSON)
| Opción | Por defecto | Para qué sirve |
|---|---|---|
markdown | - | Obligatorio. El texto en Markdown a convertir. |
format | A4 | A3, A4, A5, Letter, Legal o Tabloid. |
landscape | false | Horizontal en vez de vertical. |
margin | 0 | Margen en milímetros, igual en los 4 lados. |
Resumen de la API
- Endpoint:
POST https://api.cofferdock.com/markdown-to-pdf - Auth: cabecera
x-api-key: TU_LLAVE. - Entrada: JSON
{ "markdown": "..." }, o el Markdown a pelo conContent-Type: text/plain. - Motor: marked (Markdown→HTML) + el mismo navegador headless que HTML a PDF (JavaScript desactivado, con protección anti-SSRF).
- Límites: 30 peticiones/min por IP. Hasta 2MB de texto. 1 llamada = 1 crédito.
Opciones
| Opción | Por defecto | Descripción |
|---|---|---|
markdown | - | Obligatorio. |
format | A4 | A3 / A4 / A5 / Letter / Legal / Tabloid. |
landscape | false | Booleano. |
print_background | true | Imprime fondos y colores. |
scale | 1 | 0.1 a 2. |
margin | 0 | Milímetros, 0 a 100, igual en los 4 lados. |
output | pdf/json | pdf (binario), json (base64) o url (enlace temporal). |
Ejemplos
curl:
curl -X POST "https://api.cofferdock.com/markdown-to-pdf" \
-H "x-api-key: TU_LLAVE" \
-H "Content-Type: application/json" \
-d '{"markdown":"# Informe\n\nDatos del mes."}' \
--output informe.pdf
JavaScript (Node 18+):
const r = await fetch('https://api.cofferdock.com/markdown-to-pdf', {
method: 'POST',
headers: { 'x-api-key': 'TU_LLAVE', 'Content-Type': 'application/json' },
body: JSON.stringify({ markdown: '# Informe\n\nDatos del mes.', output: 'pdf' }),
});
const buffer = Buffer.from(await r.arrayBuffer());
Respuesta
{ "success": true, "pdf": "JVBERi0xLjQK...", "mime_type": "application/pdf",
"meta": { "format": "A4", "size_bytes": 8213, "used": 12, "remaining": 488 } }
Lo que recibes
Por defecto: con Content-Type: text/plain devuelve el PDF binario; con JSON devuelve pdf en base64. Añade output=pdf para forzar el binario en cualquier caso, o output=url para un enlace temporal de descarga (dura 15 minutos).