QR Code

Générer des QR Codes dans Crystal Reports

1. Veuillez déterminer l'architecture (32 bits ou 64 bits) de votre solution SAP Crystal Reports.
SAP Crystal Reports 2008 / 2011 / 2013 / 2016 sont en 32 bits.
SAP Crystal Reports 2020 / 2025 sont en 64 bits.

1.1 Si votre solution SAP Crystal Reports est en 64 bits, veuillez enregistrer le fichier 64 bits cruflbcs_x64.dll comme indiqué ci-dessous.
Faites un clic droit sur l'invite de commande et exécutez l'invite de commande en tant qu'administrateur.
qr code command prompt as administrator



Pour enregistrer la DLL 64 bits, veuillez saisir les commandes suivantes :
cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
%systemroot%\System32\regsvr32.exe cruflbcs_x64.dll



1.2 Si votre solution SAP Crystal Reports est en 32 bits, veuillez enregistrer le fichier 32 bits cruflbcs.dll comme indiqué ci-dessous.
Saisissez les commandes suivantes pour enregistrer le fichier 32 bits cruflbcs.dll :
cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
regsvr32.exe cruflbcs.dll

register cruflbcs.dll commands for qr code



Si la fenêtre pop-up suivante apparaît, votre enregistrement a réussi.
register cruflbcs.dll succeeded



2. Ouvrez votre rapport Crystal. Faites un clic droit sur Champs de formule (Formula Fields), choisissez "Nouveau..." (New...) dans le menu contextuel. Saisissez "qrcode1" dans la zone de texte Nom, puis cliquez sur "Utiliser l'éditeur" (Use Editor).

qrcode create formula in crystal reports

3. Après le processus d'encodage du QR Code, même une chaîne courte peut renvoyer plus de mots de code que ce à quoi vous vous attendez. Cependant, Crystal Reports n'autorise pas plus de 254 caractères dans un champ de formule. Par conséquent, nous devons diviser les mots de code du QR Code en différentes parties et les concaténer dans un Objet Texte (Text Object) avant d'appliquer la police BcsQRCode. Pour savoir combien de champs de formule sont nécessaires, vous utilisez la fonction suivante :

BCSQRCodeFormulaNoForCR({Data.Code})

qrcode crystal reports UFL

4. Créez plusieurs champs de formule comme indiqué ci-dessous si les mots de code renvoyés sont supérieurs à 255. Ensuite, glissez-déposez-les séquentiellement dans le même Objet Texte.

qrcode create formula crystal reports

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)

Le premier paramètre du champ de formule est la chaîne à encoder.
Le deuxième paramètre du champ de formule est l'index.
Le troisième paramètre du champ de formule est le niveau de correction d'erreurs. Sa valeur varie entre 1 and 4, ce qui représente séparément L07, M15, Q25 et H30. Lorsqu'il est défini sur la valeur par défaut 0, il correspond au niveau de correction d'erreurs M15.

Pour les utilisateurs de Girocode ou de l'European Payments Council (EPC) QR Code, veuillez définir les formules suivantes :

str = "BCD" & "&#0a;" & "001" & "&#0a;" & "1" & "&#0a;" & "SCT" & "&#0a;" & "BFSW3E33BER" & "&#0a;" & "Collection folder" & "&#0a;" & "DE33100206000001194701 " & "&#0a;" & "EUR123.45"
BCSQRCodeEncodeCR(str, 1, 1 )
BCSQRCodeEncodeCR(str, 2, 1)
BCSQRCodeEncodeCR(str, 3, 1)

Après chaque section de données, veuillez ajouter & "&#0a;". Cela sera interprété comme un caractère ASCII 0A.

qrcode crystal reports UFL formula field

Vous verrez des codes hexadécimaux dans votre rapport. Ne vous inquiétez pas ! Vous n'avez pas encore appliqué la police de caractères QR Code.

5. Faites un clic droit sur l'Objet Texte et choisissez "Format de l'objet" (Format Object) dans le menu contextuel. Choisissez ensuite "BcsQRcode" comme police de caractères pour l'Objet Texte.

QRCode barcode font crystal reports

6. Cliquez sur le bouton OK. Vous verrez le QR Code apparaître dans votre rapport.

QRCode barcode crystal reports

7. Si vous souhaitez utiliser le GS1 QRCode dans votre rapport, veuillez utiliser la formule BCSQRCodeEncodeCRGS1.

BCSQRCodeEncodeCRGS1(str, 1, 0);
BCSQRCodeEncodeCRGS1(str, 2, 0);
BCSQRCodeEncodeCRGS1(str, 3, 0);

Le premier paramètre est str. Vos données doivent être dans ce format avant que la DLL cruflbcs.dll ne les encode en tant que GS1-QRcode : (17)190508(90)50921. Veuillez mettre des parenthèses avant et après chaque identifiant d'application (AI). Le caractère FNC1 sera ajouté automatiquement pour vous lorsque cela est nécessaire.
Le deuxième paramètre est l'index de votre formule.
Le troisième paramètre est le niveau de correction d'erreurs.