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 }}"
}