QR-Codes in Crystal Reports erstellen
SAP Crystal Reports 2008 / 2011 / 2013 / 2016 sind 32-Bit-Anwendungen.
SAP Crystal Reports 2020 / 2025 sind 64-Bit-Anwendungen.
1.1 Wenn Ihre SAP Crystal Reports-Lösung 64-Bit ist, registrieren Sie bitte die 64-Bit-Datei cruflbcs_x64.dll wie unten gezeigt.
Klicken Sie mit der rechten Maustaste auf die Eingabeaufforderung und führen Sie sie als Administrator aus.

Geben Sie die folgenden Befehle ein, um die 64-Bit-DLL zu registrieren:
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
1.2 Wenn Ihre SAP Crystal Reports-Lösung 32-Bit ist, registrieren Sie bitte die 32-Bit-Datei cruflbcs.dll wie unten gezeigt.
Geben Sie die folgenden Befehle ein, um die 32-Bit-DLL cruflbcs.dll zu registrieren:
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll

Wenn das folgende Popup-Fenster erscheint, war Ihre Registrierung erfolgreich.

2. Öffnen Sie Ihren Crystal Report. Klicken Sie mit der rechten Maustaste auf Formelfelder (Formula Fields) und wählen Sie "Neu..." (New...) aus dem Kontextmenü. Geben Sie "qrcode1" in das Feld für den Namen ein und klicken Sie auf "Editor verwenden" (Use Editor).
3. Nach der QR-Code-Kodierung kann selbst eine kurze Zeichenfolge mehr Codewörter zurückgeben, als Sie erwarten. Crystal Reports erlaubt jedoch nicht mehr als 254 Zeichen in einem Formelfeld. Daher müssen wir die QR-Code-Codewörter in verschiedene Teile aufteilen und sie in einem Textobjekt (Text Object) verketten, bevor wir die Schriftart BcsQRCode anwenden. Um herauszufinden, wie viele Formelfelder benötigt werden, verwenden Sie die folgende Funktion:
BCSQRCodeFormulaNoForCR({Data.Code})
4. Erstellen Sie mehrere Formelfelder wie unten gezeigt, falls die zurückgegebenen Codewörter mehr als 255 Zeichen umfassen. Ziehen Sie diese dann nacheinander in dasselbe Textobjekt.
Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 1, 1, 0, 0)
Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 2, 1, 0, 0)
Local stringVar codestr := "QRCode" + Chrw(13) + chrw(10) + {Test.Data};
BCSQRCodeEncodeCR({Test.Data}, 3, 1, 0, 0)
Der erste Parameter des Formelfelds ist die zu kodierende Zeichenfolge.
Der zweite Parameter des Formelfelds ist der Index.
Der dritte Parameter des Formelfelds ist die Fehlerkorrekturstufe. Der Wert reicht von 1 bis 4, was jeweils L07, M15, Q25 und H30 entspricht. Wenn der Wert standardmäßig auf 0 gesetzt ist, entspricht dies der Fehlerkorrekturstufe M15.
Für Nutzer des Girocodes oder des European Payments Council (EPC) QR-Codes legen Sie bitte die folgenden Formeln fest:
BCSQRCodeEncodeCR(str, 1, 1 )
BCSQRCodeEncodeCR(str, 2, 1)
BCSQRCodeEncodeCR(str, 3, 1)
Bitte fügen Sie nach jedem Datenabschnitt & "�a;" hinzu. Dies wird als ASCII-Zeichen 0A interpretiert.
Sie werden Hexadezimalcodes in Ihrem Bericht sehen. Keine Sorge! Das liegt daran, dass Sie die QR-Code-Schriftart noch nicht angewendet haben.
5. Klicken Sie mit der rechten Maustaste auf das Textobjekt und wählen Sie "Objekt formatieren" (Format Object) aus dem Kontextmenü. Wählen Sie dann "BcsQRcode" als Schriftart für das Textobjekt aus.
6. Klicken Sie auf die Schaltfläche OK. Der QR-Code wird nun in Ihrem Bericht angezeigt.
7. Wenn Sie den GS1 QRCode in Ihrem Bericht verwenden möchten, nutzen Sie bitte die Formel BCSQRCodeEncodeCRGS1.
BCSQRCodeEncodeCRGS1(str, 2, 0);
BCSQRCodeEncodeCRGS1(str, 3, 0);
Der erste Parameter ist str. Ihre Daten müssen dieses Format aufweisen, bevor sie von der DLL cruflbcs.dll als GS1-QRcode kodiert werden: (17)190508(90)50921. Bitte setzen Sie Klammern vor und nach jedem Application Identifier (AI). Das FNC1-Zeichen wird bei Bedarf automatisch für Sie hinzugefügt.
Der zweite Parameter ist der Index Ihrer Formel.
Der dritte Parameter ist die Fehlerkorrekturstufe.