QR-Code generieren
Der Service Task „QR-Code generieren“ erzeugt aus einem Text oder einem Objekt einen QR-Code als PNG-Bild und legt es als Datei im Pantarey-Speicher ab. Das Bild kann an E-Mails angehängt, in Datensätzen gespeichert oder in Benutzeraufgaben angezeigt werden. Soll der QR-Code direkt in einer PDF- oder E-Mail-Vorlage erscheinen, ist der Handlebars-Helfer qrCode der kürzere Weg, ohne eigene Datei.
Technischer Name prio_generateQRCode · Kategorie im Dialog „Service-Task auswählen“: Werkzeuge
Wann wird dieser Service verwendet?
- Girocode auf der Rechnung: Die Musterfirma GmbH erzeugt zu jeder Rechnung einen Zahlungs-QR-Code (EPC-Format), den Kunden mit der Banking-App scannen.
- Link zur Terminbestätigung: Ein QR-Code mit dem Link zur externen Aufgabe wird in das Schulungs-Anschreiben gelegt.
- Geräteetiketten: Für ausgelieferte Hardware wird ein QR-Code mit Seriennummer und Kunden-Id erzeugt und als Datei am Gerätedatensatz gespeichert.
Eingabe
| Feld | Typ | Pflicht | Bedeutung |
|---|---|---|---|
data |
String oder Objekt | ja | Inhalt des QR-Codes. Ein Objekt wird als JSON-Text kodiert |
filename |
String | nein | Dateiname; Standard qrcode_<Zeitstempel>.png |
options |
Objekt | nein | Darstellung: errorCorrectionLevel (Standard M), width in Pixel (Standard 300), margin (Standard 1), color mit dark (Standard #000000) und light (Standard #FFFFFF). Eigene Werte überschreiben die Standards |
Wird color angegeben, müssen beide Farben gesetzt werden; das Objekt ersetzt den Standard vollständig. Wie viele Zeichen in einen QR-Code passen, hängt von Inhalt und Fehlerkorrektur ab; zu lange Daten brechen mit einem Fehler der Bibliothek ab.
{
"data": "BCD\n002\n1\nSCT\nAUGSDE77XXX\nMusterfirma GmbH\nDE02720500000000123456\nEUR" & $formatNumber(rechnung.brutto, "0.00") & "\n\n\nRechnung " & rechnung.nummer,
"filename": "girocode-" & rechnung.nummer & ".png",
"options": { "width": 400, "errorCorrectionLevel": "M" }
}
Im EPC-Format steht der Betrag mit Punkt als Dezimaltrenner (EUR1190.00), ohne Tausendertrennzeichen.
Ausgabe
{
"filename": "girocode-RE-2026-0042.png",
"referenceId": "01JCX4R9M2T7V8W3Y5Z6A7B8C9",
"contentType": "image/png",
"thumbnail": "iVBORw0KGgoAAAANSUhEUg…"
}
Ein Datei-Objekt für das Bild im Pantarey-Speicher. thumbnail ist eine Base64-kodierte Vorschau mit 200 px Breite; sie entsteht für alle Bilder, die breiter als 200 px sind, bei der Standardbreite 300 also immer. Das Ergebnis landet unter dem Ergebnispfad, z. B. girocode, und lässt sich dort als Anhang oder Dateifeld weiterverwenden.
Fehler und Verhalten
- Fehlende Eingabe wirft
No data provided for QR-Code generation. - Fehler der Bibliothek (Daten zu lang, ungültige Option) werfen ebenfalls. Mit Fehler-Randereignis läuft der Prozess dort weiter, ohne Randereignis endet der Vorgang im Fehler mit Wiederaufsetzpunkt und Fehler-Mail an den Prozessverantwortlichen.
- Der Service liefert nie
{status, message}. - Zeitgrenze 900 Sekunden. Wiederholungen bei vorübergehenden Fehlern (bis zu drei Versuche) erzeugen höchstens eine zweite Datei.
- Im Dry Run wird keine Datei erzeugt; der Schritt liefert eine Beispielausgabe aus dem Katalog.
Beispiel
Rechnungslauf der Musterfirma GmbH: In der Nachricht liegt rechnung mit nummer und brutto.
- QR-Code generieren mit dem Input von oben, Ergebnispfad
girocode. - Ausgabe wie oben,
girocode.filename=girocode-RE-2026-0042.png. - Nächster Schritt: E-Mail versenden an externe Empfänger (eigene Domain) hängt
rechnung.pdfundgirocodean; ein Datenbank-Schritt speichert das Bild im Dateifeld der Rechnung.
Soll der Code stattdessen auf der Rechnung selbst stehen, wird er in der PDF-Vorlage mit {{qrCode …}} erzeugt, siehe GiroCode-Beispiel.
Häufige Fragen
Nach dem Setzen von color.dark ist der Hintergrund transparent oder schwarz.
color ersetzt beide Standardfarben. Immer dark und light zusammen angeben, z. B. { "dark": "#1a3c6e", "light": "#FFFFFF" }.
Die Banking-App erkennt den Girocode nicht.
Das EPC-Format ist zeilengenau: Betrag als EUR plus Zahl mit Punkt (EUR1190.00), kein Tausendertrennzeichen, Zeilen mit \n getrennt. Die Zeilenstruktur im Beispiel oben übernehmen.
Wofür ist thumbnail gedacht?
Für die Anzeige in Listen und Formularen ohne das Bild zu laden. Zum Weitergeben der Datei reicht das Datei-Objekt aus filename, referenceId und contentType.
Nächster Schritt
Handlebars-Helfer: QR-Codes direkt in PDF- und E-Mail-Vorlagen erzeugen.