Durante los últimos días he estado trabajando en esta automatización para escribir y enviar presupuestos completos. Funciona bien cuando uso un nodo “HTML a PDF”, y puedo enviar un pdf con los datos sin formato. Pero cuando intento formatear los datos en una plantilla, el pdf aparece en blanco. ¿Me estoy perdiendo algo?
Hola @Tim_Barrett
La razón por la que tu PDF sale en blanco es que estás mezclando dos métodos diferentes de generación de PDF en tu flujo de trabajo. Estás intentando usar un enfoque basado en plantillas (a través de la API de Generador de PDF), pero le estás proporcionando un Archivo Binario (a través del nodo Convertir a Archivo) y datos JSON inválidos.
Aquí hay tres problemas específicos y cómo solucionarlos:
- El nodo
Convertir a Archivotoma tu texto y lo convierte en un archivo HTML binario. Sin embargo, el nodo API de Generador de PDF no «convierte» un archivo existente en una plantilla; crea un nuevo archivo fusionando datos JSON en una plantilla predefinida.
Al colocar Convertir a Archivo antes del generador de PDF, estás cambiando la entrada de un objeto JSON (que es lo que la API necesita) a un objeto binario, lo que causa que la API falle al no encontrar los datos que necesita para rellenar la plantilla.
Solución: Elimina el nodo Convertir a Archivo y conecta Editar Campos1 directamente a Generar un documento PDF.
- En tu nodo
Generar un documento PDF, tienes los datos configurados como:={} {{ $json.output }}
Esto no es JSON válido. La API de Generador de PDF requiere un objeto JSON donde las claves coincidan con los marcadores de posición que creaste en tu panel de control de plantillas de la API de Generador de PDF.
Solución: Cambia el campo data a un objeto JSON adecuado. Por ejemplo, si tu plantilla tiene un marcador de posición llamado {{quote_content}}, tu campo de datos debería verse así:
{
"quote_content": "{{ $json.output }}"
}
- Para que los datos aparezcan realmente en el PDF, la clave que uses en n8n debe coincidir exactamente con el nombre de la variable en tu plantilla (ID: 1649628).
- Si tu plantilla está en blanco: Significa que la API recibió la solicitud, pero no pudo encontrar ninguna clave en tu JSON que coincidiera con las etiquetas
{{variable}}en tu diseño. - Recomendación: Verifica tu plantilla en el panel de control de la API de Generador de PDF. Si tienes etiquetas como
{{client_name}}o{{total_price}}, debes proporcionarlas específicamente en el JSON:
{
"client_name": "{{ $(\"Edit Fields\").item.json[\"¿Cuál es tu nombre?\"] }}",
"quote_content": "{{ $json.output }}"
}
Para este flujo de comillas, aisle si el PDF en blanco es datos de plantilla o renderizado. Antes del nodo PDF, agregue un nodo Establecer/Editar campos que genera solo un objeto pequeño cuyas claves coincidan con un marcador de posición de plantilla, por ejemplo eventName y guestCount, luego ejecute el nodo PDF con ese.
Si el PDF de un campo se renderiza, la plantilla está bien y el problema es la forma de la salida de IA; analice la salida del agente en campos JSON nombrados antes del nodo PDF. Si la prueba de un campo sigue en blanco, el siguiente límite es el ID de plantilla o los nombres de marcadores de posición en lugar del flujo de n8n.
Hola Kjooleng
Gracias por tu respuesta.
He intentado seguir tus pasos varias veces, pero sigo obteniendo una plantilla en blanco. He actualizado las variables presentes en mi plantilla para que coincidan con mis hojas de cálculo y he actualizado los datos para que sean JSON válido
He pasado de usar la plantilla Quote de PDF Generator API a una plantilla en blanco que creé con la esperanza de organizar los datos. Sé que estoy cerca, pero solo necesito un paso más para que funcione.
¿Tienes alguna idea
No tengo problema. Necesitas seguir las instrucciones cuidadosamente. No copies ciegamente
Esto debería ayudarte
Muy probablemente la palabra clave sea esta
En mi caso, mi variable de plantilla es output. Asegúrate de ajustar la tuya en consecuencia
@Tim_Barrett, puedes intentar usar el nodo de PDF API Hub que permite generar PDF usando una plantilla.
Aquí está el enlace del nodo verificado:

