Zum Inhalt

PDF aus Handlebars-Template erstellen

Der Service Task „PDF erstellen aus Template (Handlebars)“ erzeugt ein PDF-Dokument auf Basis einer HTML-Vorlage. Die Vorlage wird mit Handlebars gerendert, um dynamische Inhalte einzufügen. Ideal für Rechnungen, Angebote oder Berichte.

Input-Parameter

Die folgenden Felder werden als Eingabe für den Task benötigt:

{
  "filename": "document.pdf",
  "content": {
    "customerName": "Max Mustermann",
    "invoiceNumber": "12345",
    "totalAmount": 500.00
  },
  "templateHtml": "<html><body><h1>Rechnung Nr. {{invoiceNumber}}</h1><p>Kunde: {{customerName}}</p><p>Betrag: {{totalAmount}} EUR</p></body></html>"
}

Erläuterung:

  • filename: Gewünschter Dateiname des erzeugten PDF-Dokuments.
  • content: Daten, die in die HTML-Vorlage eingebettet werden sollen.
  • templateHtml: HTML-Vorlage mit Handlebars-Platzhaltern.

Output

Der Task gibt eine Referenz zum erzeugten PDF-Dokument zurück.

{
  "status": 200,
  "response": {
    "fileReference": "s3://bucket-name/document.pdf"
  }
}

Erläuterung:

  • status: Status des Vorgangs (200 für erfolgreich).
  • fileReference: Datei-Referenz zum erstellten PDF-Dokument.

JSONata-Beispiele

{
  "filename": "rechnung-{{$.orderDetails.orderId}}.pdf",
  "content": {
    "customerName": $.customer.name,
    "invoiceNumber": $.orderDetails.orderId,
    "totalAmount": $.orderDetails.totalAmount
  },
  "templateHtml": "<html><body><h1>Rechnung Nr. {{invoiceNumber}}</h1><p>Kunde: {{customerName}}</p><p>Betrag: {{totalAmount}} EUR</p></body></html>"
}

Verfügbare Handlebars-Helper

Alle verfügbaren Helper (Datum, Zahlen, Bedingungen, Text, QR-Code u. v. m.) sind in der Handlebars-Helper-Referenz dokumentiert.

Hinweise

  • Handlebars wird verwendet in templateHtml, um dynamische Inhalte einzufügen.
  • Die Helper können genutzt werden, um Inhalte bequem zu formatieren.
  • Stelle sicher, dass die Daten im content korrekt formatiert sind.
  • Das PDF wird im Hintergrund generiert und als Datei-Referenz zurückgegeben.

Tipp

JSONata kann genutzt werden, um content und filename dynamisch aus Prozessdaten zu erzeugen.