QR Code

Générer un code QR dans Crystal Reports

Comment générer un code QR dans Crystal Reports ?

Pour générer un code QR dans Crystal Reports, créez un nouveau champ de formule en utilisant la fonction BCSQRCodeEncodeCR de la bibliothèque UFL de Barcodesoft. Passez vos champs de base de données en arguments, placez le champ de formule sur votre zone de conception et appliquez la police de caractères BcsQRCode.

  1. Étape 1 : Déterminer l'architecture (32 ou 64 bits) de SAP Crystal Reports et enregistrer la DLL

    Déterminez l'architecture (le nombre de bits) de votre version de SAP Crystal Reports. Les versions SAP Crystal Reports 2008 à 2016 sont en 32 bits, tandis que SAP Crystal Reports 2020 et 2025 sont en 64 bits.

    Pour Crystal Reports 64 bits (2020 / 2025) :

    Exécutez l'invite de commandes en tant qu'administrateur et lancez :

    cd "C:\Program Files\Common Files\Barcodesoft\FontUtil"
    %systemroot%\System32\regsvr32.exe cruflbcs_x64.dll
    Registering 64-bit cruflbcs_x64.dll in Windows Command Prompt

    Pour Crystal Reports 32 bits (2008–2016) :

    Exécutez l'invite de commandes en tant qu'administrateur et lancez :

    cd "C:\Program Files (x86)\Common Files\Barcodesoft\FontUtil"
    regsvr32.exe cruflbcs.dll
    Registering 32-bit cruflbcs.dll via administrator command prompt
  2. Étape 2 : Localiser la fonction UFL Barcodesoft

    Dans Crystal Reports, naviguez dans la hiérarchie de l'explorateur de fonctions : Liste des fonctions ⇒ Fonctions supplémentaires ⇒ UFL COM et .NET (u212com.dll) ⇒ UFL Visual Basic. Double-cliquez sur la fonction BCSQRCodeEncodeCR.

    Locating the BCSQRCodeEncodeCR function in Crystal Reports Visual Basic UFLs list
  3. Étape 3 : Créer un nouveau champ de formule

    Faites un clic droit sur Champs de formule et choisissez Nouveau... dans le menu contextuel. Nommez votre nouveau champ "BcsQRCode1", puis cliquez sur "Utiliser l'éditeur".

    Creating a new Formula Field named BcsQRCode1 in Crystal Reports formula workshop

    Après le processus d'encodage du code QR, même une chaîne courte peut contenir plus de mots de code que prévu. Comme Crystal Reports limite les champs de formule à 255 caractères, vous devez diviser le code QR encodé en plusieurs parties et les concaténer à l'intérieur d'un Objet texte avant d'appliquer la police. Utilisez la fonction suivante pour vérifier de combien de champs de formule vous aurez besoin : BCSQRCodeFormulaNoForCR({Test.Data})

  4. Étape 4 : Créer plusieurs champs de formule

    Créez plusieurs champs de formule comme indiqué ci-dessous si la valeur renvoyée par BCSQRCodeFormulaNoForCR({Test.Data}) est supérieure à un. Ensuite, placez-les séquentiellement à l'intérieur du même Objet texte.

    BCSQRCodeEncodeCR({Test.Data}, 1, 0)
    BCSQRCodeEncodeCR({Test.Data}, 2, 0)
    BCSQRCodeEncodeCR({Test.Data}, 3, 0)
    Creating multiple QR Code formula fields sequentially using index values in Crystal Reports

    Détail des paramètres : Le 1er paramètre est la chaîne à encoder ; le 2e est l'index du segment ; le 3e est le niveau de correction d'erreurs (de 1 à 4 pour représenter L07, M15, Q25 et H30. Définissez-le sur 0 pour utiliser la correction d'erreurs M15 par défaut sélectionnée automatiquement).

  5. Étape 5 : Insérer un objet texte dans votre rapport

    Glissez-déposez tous les champs de formule créés dans cet objet texte, dans l'ordre. Vous verrez d'abord des codes hexadécimaux temporaires dans la mise en page de votre rapport. Ne vous inquiétez pas, c'est normal tant que la police de code-barres n'a pas été appliquée.

    Placing sequential formula fields side-by-side inside a Crystal Reports text object
  6. Étape 6 : Appliquer la police de caractères BcsQRCode

    Faites un clic droit sur l'Objet texte et sélectionnez Mettre en forme l'objet dans le menu contextuel. Dans l'onglet Police, choisissez "BcsQRCode" comme famille de polices.

    Selecting BcsQRCode as the font typeface in the Format Object window
  7. Étape 7 : Vérifier la génération du code QR

    Cliquez sur le bouton OK. Les caractères de remplacement s'afficheront immédiatement sous la forme d'un code QR entièrement scannable dans la mise en page de votre rapport.

    Successful generation and preview of a QR Code in Crystal Reports

Comment générer des codes QR conformes à la norme GS1

Si votre projet nécessite un formatage conforme à la norme GS1 plutôt qu'un encodage de texte standard, utilisez la fonction dédiée BCSQRCodeEncodeCRGS1 répartie sur plusieurs formules :

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

Spécifications des paramètres pour GS1 :

  • 1er paramètre (str) : La chaîne de données brutes d'entrée. Assurez-vous que votre format regroupe strictement les éléments à l'aide de parenthèses avant et après chaque identifiant d'application (AI) — par exemple, (17)190508(90)50921. La gestion de la DLL en arrière-plan par la bibliothèque insérera automatiquement les délimiteurs FNC1 nécessaires.
  • 2e paramètre : L'index séquentiel du segment de votre formule cible.
  • 3e paramètre : La configuration du niveau de correction d'erreurs souhaité.