Não consegue criar Modelo de PDF para enviar ao workflow

Oi @Tim_Barrett

O motivo pelo qual seu PDF está aparecendo em branco é que você está misturando dois métodos diferentes de geração de PDF no seu fluxo de trabalho. Você está tentando usar uma abordagem baseada em template (via a API do PDF Generator), mas está alimentando-a com um Arquivo Binário (via o nó Convert to File) e fornecendo dados JSON inválidos.

Aqui estão os três problemas específicos e como corrigi-los:

  1. O nó Convert to File pega seu texto e o transforma em um arquivo HTML binário. No entanto, o nó PDF Generator API não “converte” um arquivo existente em um template; ele cria um novo arquivo mesclando dados JSON em um template pré-definido.

Ao colocar Convert to File antes do gerador de PDF, você está mudando a entrada de um objeto JSON (que a API precisa) para um objeto binário, o que faz com que a API falhe ao encontrar os dados que precisa para preencher o template.

Solução: Delete o nó Convert to File e conecte Edit Fields1 diretamente a Generate a PDF document.

  1. No seu nó Generate a PDF document, você tem os dados definidos como: ={} {{ $json.output }}

Isso não é um JSON válido. A API do PDF Generator requer um objeto JSON onde as chaves correspondam aos placeholders que você criou no seu dashboard de template do PDF Generator API.

Solução: Altere o campo data para um objeto JSON apropriado. Por exemplo, se seu template tem um placeholder chamado {{quote_content}}, seu campo de dados deve ficar assim:

{
  "quote_content": "{{ $json.output }}"
}
  1. Para que os dados realmente apareçam no PDF, a chave que você usa no n8n deve corresponder exatamente ao nome da variável no seu template (ID: 1649628).
  • Se seu template está em branco: Significa que a API recebeu a requisição, mas não conseguiu encontrar nenhuma chave no seu JSON que correspondesse aos tags {{variable}} no seu design.
  • Recomendação: Verifique seu template no dashboard da PDF Generator API. Se você tem tags como {{client_name}} ou {{total_price}}, você deve fornecê-las especificamente no JSON:
{
  "client_name": "{{ $("Edit Fields").item.json["What's your name?"] }}",
  "quote_content": "{{ $json.output }}"
}
1 curtida