QR-Code in Crystal Reports erstellen
Wie generiert man einen QR-Code in Crystal Reports?
Um einen QR-Code in Crystal Reports zu erstellen, legen Sie ein neues Formelfeld an und verwenden Sie die Funktion BCSQRCodeEncodeCR aus der Barcodesoft UFL-Bibliothek. Übergeben Sie Ihre Datenbankfelder als Argumente, platzieren Sie das Formelfeld auf Ihrem Berichtsentwurf und weisen Sie ihm die Schriftart BcsQRCode zu.
-
Schritt 1: SAP Crystal Reports Bittigkeit bestimmen und DLL registrieren
Bestimmen Sie die Bittigkeit (32-Bit oder 64-Bit) Ihrer installierten SAP Crystal Reports Version. SAP Crystal Reports 2008 bis 2016 sind 32-Bit-Anwendungen, während SAP Crystal Reports 2020 und 2025 als 64-Bit-Versionen laufen.
Für 64-Bit Crystal Reports (2020 / 2025):
Öffnen Sie die Eingabeaufforderung als Administrator und führen Sie Folgendes aus:
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
Für 32-Bit Crystal Reports (2008–2016):
Öffnen Sie die Eingabeaufforderung als Administrator und führen Sie Folgendes aus:
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll
-
Schritt 2: Die Barcodesoft UFL-Funktion finden
Navigieren Sie in Crystal Reports durch die Struktur des Formel-Editors: Funktionen ⇒ Zusätzliche Funktionen ⇒ COM- und .NET-UFLs (u212com.dll) ⇒ Visual Basic-UFLs. Doppelklicken Sie auf die Funktion BCSQRCodeEncodeCR.
-
Schritt 3: Ein neues Formelfeld erstellen
Klicken Sie mit der rechten Maustaste auf Formelfelder und wählen Sie Neu... aus dem Kontextmenü. Benennen Sie das neue Feld mit "BcsQRCode1" und klicken Sie auf "Editor verwenden".
Nach der QR-Code-Codierung kann selbst eine kurze Zeichenfolge mehr Codewörter enthalten als erwartet. Da Crystal Reports Formelfelder auf maximal 255 Zeichen begrenzt, müssen Sie den codierten QR-Code in separate Teile aufteilen und diese innerhalb eines Textobjekts verketten, bevor Sie die Schriftart zuweisen. Verwenden Sie die folgende Funktion, um zu prüfen, wie viele Formelfelder Sie benötigen werden:
BCSQRCodeFormulaNoForCR({Test.Data}) -
Schritt 4: Mehrere Formelfelder erstellen
Erstellen Sie mehrere Formelfelder wie unten aufgeführt, falls der Rückgabewert von
BCSQRCodeFormulaNoForCR({Test.Data})größer als eins ist. Platzieren Sie diese anschließend nacheinander in demselben Textobjekt.BCSQRCodeEncodeCR({Test.Data}, 1, 0)
BCSQRCodeEncodeCR({Test.Data}, 2, 0)
BCSQRCodeEncodeCR({Test.Data}, 3, 0)
Parameter-Erklärung: Der 1. Parameter ist die zu codierende Zeichenfolge; der 2. ist der Segment-Index; der 3. ist die Fehlerkorrekturstufe (1-4 steht für L07, M15, Q25 und H30. Setzen Sie den Wert auf 0 für die automatisch ausgewählte Standardstufe M15).
-
Schritt 5: Ein Textobjekt in Ihren Bericht einfügen
Ziehen Sie alle erstellten Formelfelder nacheinander per Drag-and-Drop in dieses Textobjekt. Anfangs sehen Sie in Ihrem Berichtsentwurf nur kryptische Hex-Codes. Keine Sorge, das ist völlig normal, da die Barcode-Schriftart noch nicht zugewiesen wurde.
-
Schritt 6: Die Schriftart BcsQRCode zuweisen
Klicken Sie mit der rechten Maustaste auf das Textobjekt und wählen Sie Objekt formatieren aus dem Kontextmenü. Wählen Sie auf der Registerkarte "Schriftart" die Option "BcsQRCode" als Schriftart aus.
-
Schritt 7: QR-Code-Generierung prüfen
Klicken Sie auf OK. Die kryptischen Zeichen im Berichtsentwurf werden sofort als vollständig scannbarer QR-Code dargestellt.
Wie man GS1-konforme QR-Codes generiert
Wenn Ihr Projekt anstelle einer Standard-Textcodierung eine GS1-konforme Formatierung erfordert, verwenden Sie die spezielle Funktion BCSQRCodeEncodeCRGS1 für die aufgeteilten Formeln:
BCSQRCodeEncodeCRGS1(str, 1, 0);
BCSQRCodeEncodeCRGS1(str, 2, 0);
BCSQRCodeEncodeCRGS1(str, 3, 0);
Parameter-Spezifikationen für GS1:
- 1. Parameter (str): Die Rohdaten-Zeichenfolge. Stellen Sie sicher, dass Ihre Daten die Application Identifier (AI) streng in Klammern setzen – zum Beispiel
(17)190508(90)50921. Die DLL der Bibliothek fügt im Hintergrund automatisch die erforderlichen FNC1-Trennzeichen ein. - 2. Parameter: Der fortlaufende Segment-Index für die jeweilige Formel.
- 3. Parameter: Die gewünschte Konfiguration für die Fehlerkorrekturstufe.