Herramientas API Blog
Entrar Crear cuenta

Rellenar formulario PDF

Rellenar formulario es una API que mete datos en una plantilla PDF que ya tiene campos de formulario (esos PDF donde puedes hacer clic y escribir). Perfecto para generar contratos, solicitudes o fichas rellenas desde n8n, Make o Zapier, sin montar servidores.

Cómo funciona

Necesitas una plantilla PDF con campos de formulario ya creados (no vale un PDF normal sin campos; los formularios rellenables se hacen con Adobe Acrobat u otro editor de formularios). Le mandas la plantilla y un objeto con los valores, y te devuelve el PDF relleno.

¿No sabes qué campos tiene tu plantilla? Llama a la API SIN el objeto de datos y te devuelve la lista de campos disponibles (su nombre y tipo) en vez de rellenar nada: así puedes descubrirlos antes de automatizar. Esto también gasta 1 crédito, igual que rellenar.

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…).
  • Tu plantilla PDF con campos de formulario.

Paso 1: descubre los campos de tu plantilla

En el nodo HTTP Request de n8n:

  • Method: POST
  • URL: https://api.cofferdock.com/pdf-fill-form
  • Send Headers: actívalo y añade dos: x-api-key = tu llave, y Content-Type = application/pdf
  • Send Body: actívalo → elige la opción para mandar un archivo binario (en n8n: "n8n Binary File", con la propiedad binaria de tu plantilla, normalmente data)

La respuesta trae la lista de campos con su nombre y tipo, por ejemplo: { "fields": [{ "name": "nombre_cliente", "type": "text" }, { "name": "acepto", "type": "checkbox" }] }. Usa esos nombres exactos en el paso 2.

Paso 2: rellena la plantilla

Cambia el cuerpo a JSON (para poder mandar la plantilla y los datos juntos):

  • Send Body: JSON → { "file": "<tu plantilla en base64>", "data": { "nombre_cliente": "Ana García", "acepto": true } }
  • Send Headers: x-api-key = tu llave, Content-Type = application/json
  • En Options → Response → Response Format: elige File (la respuesta ya es el PDF relleno)

Convierte tu plantilla a base64 con un nodo Code y la expresión {{'{{'}}$binary.data.toString('base64'){{'}}'}}, o con el nodo Move Binary Data.

Si un nombre de campo no existe en la plantilla (por ejemplo un typo), esa llamada NO falla: rellena los campos que sí reconoce y avisa de los que no en la cabecera X-Warnings (o en warnings si pides output=json).

Opciones (en el JSON)

OpciónPor defectoPara qué sirve
data-Objeto con { "nombre_del_campo": "valor" }. Si lo omites, la API responde con la lista de campos en vez de rellenar.
flattenfalsetrue deja el PDF "congelado": los valores ya no se pueden editar en un lector de PDF.

Lo que recibes

En modo inspección: un JSON con la lista de campos. En modo relleno: el PDF relleno directamente (o en base64 con output=json).