Kann PDF-Vorlage nicht erstellen, um sie an den Workflow zu senden

Hallo @Tim_Barrett

Der Grund dafür, dass deine PDF leer angezeigt wird, ist, dass du zwei verschiedene PDF-Generierungsmethoden in deinem Workflow vermischst. Du versuchst einen Template-basierten Ansatz zu verwenden (über die PDF Generator API), versorgst ihn aber mit einer Binärdatei (über den Convert to File-Node) und stellst ungültige JSON-Daten bereit.

Hier sind die drei spezifischen Probleme und wie du sie behebst:

  1. Der Convert to File-Node nimmt deinen Text und wandelt ihn in eine binäre HTML-Datei um. Die PDF Generator API konvertiert jedoch keine vorhandene Datei in ein Template; sie erstellt eine neue Datei, indem sie JSON-Daten mit einem vordefinierten Template zusammenführt.

Indem du Convert to File vor den PDF-Generator platzierst, änderst du die Eingabe von einem JSON-Objekt (das die API benötigt) in ein binäres Objekt, was dazu führt, dass die API die Daten nicht finden kann, die sie zum Füllen des Templates braucht.

Lösung: Lösche den Convert to File-Node und verbinde Edit Fields1 direkt mit Generate a PDF document.

  1. In deinem Generate a PDF document-Node hast du die Daten als: ={} {{ $json.output }} eingestellt.

Das ist kein gültiges JSON. Die PDF Generator API benötigt ein JSON-Objekt, bei dem die Schlüssel den Platzhaltern entsprechen, die du in deinem PDF Generator API Dashboard-Template erstellt hast.

Lösung: Ändere das Feld data auf ein korrektes JSON-Objekt. Wenn dein Template beispielsweise einen Platzhalter namens {{quote_content}} hat, sollte dein Datenfeld so aussehen:

{
  "quote_content": "{{ $json.output }}"
}
  1. Damit die Daten tatsächlich auf der PDF erscheinen, muss der Schlüssel, den du in n8n verwendest, exakt dem Variablennamen in deinem Template entsprechen (ID: 1649628).
  • Wenn dein Template leer ist: Das bedeutet, dass die API die Anfrage erhalten hat, aber keine Schlüssel in deinem JSON finden konnte, die den {{variable}}-Tags in deinem Design entsprechen.
  • Empfehlung: Überprüfe dein Template im PDF Generator API Dashboard. Wenn du Tags wie {{client_name}} oder {{total_price}} hast, musst du diese speziell im JSON angeben:
{
  "client_name": "{{ $(\"Edit Fields\").item.json[\"What's your name?\"] }}",
  "quote_content": "{{ $json.output }}"
}
1 „Gefällt mir“