Manuel - QRCode

Introduction

Le code QRCode fait partie de la famille des codes-barres en 2D. Il permet d'encoder beaucoup d'information en un seul code-barres.
Tous les caractères ASCII de 0 à 255 sont supportés. La taille du code sera déterminée en fonction du nombre de données entrées ainsi que du niveau d'erreur choisi. Vous pouvez forcer le code-barres à être généré dans une taille spécifique tant qu'il y a assez d'espace pour encoder les données.
Il est possible de passer en mode ECI avec la fonction setAcceptECI().

Cette classe hérite de la classe BCGBarcode2D.

Exemple

Méthodes

Méthodes de BCGqrcode

Méthodes de BCGBarcode2D

Méthodes de BCGBarcode

Exemple de Code


<?php
use BarcodeBakery\Common\BCGColor;
use BarcodeBakery\Common\BCGDrawing;
use BarcodeBakery\Barcode\BCGqrcode;

$colorBlack = new BCGColor(0, 0, 0);
$colorWhite = new BCGColor(255, 255, 255);

// Barcode Part
$code = new BCGqrcode();
$code->setScale(3);
$code->setForegroundColor($colorBlack);
$code->setBackgroundColor($colorWhite);
$code->setErrorLevel(1);
$code->parse('QRCode');

// Drawing Part
$drawing = new BCGDrawing($code, $colorWhite);

header('Content-Type: image/png');

$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>

Explications des Méthodes

  • getErrorLevel() — Retourne le niveau d'erreur du code-barres
    Description
    Retourne le niveau de pourcentage de correction d'erreur.
    Retourne
    int - valeur entre 0 et 3
  • setErrorLevel($level) — Fixe le niveau d'erreur du code-barres
    Description
    Il s'agit du pourcentage de correction d'erreur défini avant de dessiner le code-barres.
    Le niveau doit être un nombre entier de 0 à 3 ou les lettres correspondantes L, M, Q, H.
    Le niveau d'erreur peut récupérer approximativement respectivement 7%, 15%, 25% et 30%.
    La valeur par défaut est 1 (M).
  • getSize() — Retourne la taille du code-barres
    Description
    Retourne le code pour la taille du code-barres final.
    Voyez aussi setSize() pour plus de détails.
    Retourne
    int - constante définie à setSize()
  • setSize($value) — Fixe la taille du code-barres
    Description
    La taille du code-barres finale sera décidée automatiquement dépendamment du nombre de données que vous avez spécifié ainsi que le pourcentage de correction d'erreur à moins que vous spécifiez une valeur avec la méthode setQRSize().
    Vous pouvez spécifier différentes valeurs à cette méthode pour obtenir un code différent. Voici les valeurs possibles :
    BCGqrcode::QRCODE_SIZE_SMALLEST : Le code sera le plus petit possible
    BCGqrcode::QRCODE_SIZE_MICROS : Le code sera en mode Micro
    BCGqrcode::QRCODE_SIZE_FULL : Le code sera en mode full
    La valeur par défaut est BCGqrcode::QRCODE_SIZE_FULL.
  • setStructuredAppend($snum, $st, $sname) — Spécifie que les données seront dispersées sur plusieurs codes-barres
    Description
    Les données du code QRCode peuvent être séparées sur plusieurs codes-barres.
    Le premier argument est le numéro du code-barres (commençant par 1), le deuxième argument est le nombre total de codes-barres que vous avez. Le dernier argument est un identifiant à votre groupe de code-barres. Celui-ci doit rester le même pour chaque code-barres.
    La spécification indique que l'argument devrait être les données qui seront encodées sur tous les codes-barres.
    Fournir une grande chaîne de caractères est extrêmement coûteux en termes de CPU. Rien ne vous empêche de fournir un identificateur différent si votre lecteur de codes-barres le supporte.
    Il est possible d'encoder sur 16 codes-barres différents au maximum.
    Retourne
    bool - true en cas de succès, false en cas d'échec
  • getFNC1() — Retourne si le FNC1 est activé
    Description
    Retourne si le FNC1 est activé.
    Voyez aussi setFNC1() pour plus de détails.
    Retourne
    int - constante définie à setFNC1()
  • setFNC1($fnc1Type, $fnc1Id) — Transforme votre code-barres en standard GS1 ou AIM
    Description
    Cette méthode transformera votre code-barres pour accepter les FNC1 pour être au standard GS1 ou au standard AIM.
    Le premier argument peut être :
    - BCGqrcode::QRCODE_FNC1_NONE : Le code ne suivra aucun standard.
    - BCGqrcode::QRCODE_FNC1_GS1 : Le code suivra le standard GS1. Le second argument n'est pas utilisé. Séparez les identifiants GS1 par des %. Pour écrire un %, écrivez-le double %%.
    - BCGqrcode::QRCODE_FNC1_AIM : Le code suivra le standard AIM. Le second argument doit être utilisé, il s'agit de l'identificateur de l'application. Cela doit être une lettre (chaîne de caractères) ou 2 chiffres (entier).
    La valeur par défaut est BCGqrcode::QRCODE_FNC1_NONE.
  • getAcceptECI() — Retourne si les codes ECI sont acceptés
    Description
    Retourne si les codes ECI sont acceptés.
    Voyez aussi setAcceptECI() pour plus de détails.
    Retourne
    bool
  • setAcceptECI($accept) — Spécifie d'accepter les codes ECI
    Description
    En mettant true à l'argument de cette méthode, les caractères antislash (ASCII 92 \) seront pris comme des caractères spéciaux. Voici les caractères spéciaux que vous pouvez écrire.
    - \\ : Écrit un simple antislash
    - \xxxxxx : Écrit le caractère ECI xxxxxx avec x pouvant varier de 0 à 9
    La valeur par défaut est false.
  • getQuietZone() — Retourne si la zone muette sera dessinée
    Retourne
    bool - true si activé, false autrement
  • setQuietZone($quietZone) — Spécifie de dessiner une zone muette autour du code-barres
    Description
    Pour être lu correctement, le QRCode doit avoir une zone muette (quiet zone) autour de l'image. Vous pouvez cependant ne pas l'afficher.
    La valeur par défaut est true.
  • getMirror() — Retourne si le mode miroir est activé
    Description
    Retourne si le mode miroir est activé.
    Retourne
    bool - true si activé, false autrement
  • setMirror($mirror) — Spécifie de dessiner le code-barres en miroir
    Description
    Il est possible de lire le code-barres en mode miroir. Si vous fixez cette variable à %1$s, le code-barres sera dessiné en miroir.
    La valeur par défaut est false.
  • getMask() — Retourne le masque choisi
    Description
    Retourne le masque choisi.
    Retourne
    int - valeur entre -1 et 8
  • setMask($mask) — Spécifie un masque plutôt que d'en calculer un
    Description
    QRCode calcule 8 masques différents avant de dessiner le code. Un masque permet de changer l'apparence de votre code-barres afin qu'il soit lu plus facilement par votre lecteur de codes-barres. Des opérations mathématiques sont exécutées sur chaque masque pour vérifier lequel est le plus satisfaisant. Ces opérations sont extrêmement couteuses en termes de CPU. Si la vitesse de génération est importante pour vous, vous pourriez considérer de forcer un masque en particulier. Notez que votre code-barres peut devenir difficile ou impossible à lire.
    Si votre code-barres est Micro, les valeurs valides pour $mask sont 0 à 3.
    Si votre code-barres est Complet, les valeurs valides pour $mask sont 0 à 7.
    Si vous spécifez -1, le masque sera choisi automatiquement.
    La valeur par défaut est -1.
  • setQRSize($qrSize, $qrMicro) — Spécifie une taille à utiliser pour le code-barres
    Description
    Barcode Bakery générera le plus petit code-barres basé sur les informations que vous fournissez.
    Si vous souhaitez avoir une taille spécifique, vous pouvez la forcer avec cette méthode.
    Le premier argument est la version du code-barres et le deuxième argument indique si vous souhaitez un mode Micro.
    Si $qrMicro est fixé à true, les valeurs valides pour $qrSize sont 1 à 4.
    Si $qrMicro est fixé à false, les valeurs valides pour $qrSize sont 1 à 40.
    Si vous fixez -1, la taille du code-barres sera choisie automatiquement. Le deuxième argument n'est pas utilisé dans ce cas; si vous souhaitez avoir un mode Micro ou un mode Complet, voyez la méthode setSize().
    La valeur par défaut est -1.
  • setScaleX($scaleX) — Spécifie la résolution du codes-barres en X
    Description
    La largeur en pixel d'un module.
    La valeur par défaut est 1.
    Notez que cette méthode est protégée (protected).
  • setScaleY($scaleY) — Spécifie la résolution du codes-barres en Y
    Description
    La hauteur en pixel d'un module.
    La valeur par défaut est 1.
    Notez que cette méthode est protégée (protected).
  • parse($text) — Analyse un message $text pour dessiner par la suite
    Description
    Les données que vous passez à l'argument $text doivent être supportées par le type de code-barres que vous utilisez.
    Référez-vous à l'introduction de chaque code-barres pour obtenir plus d'informations comment utiliser cette méthode pour chaque type de code-barres.
  • draw($image) — Dessine le code-barres sur l'image $image
    Description
    La valeur de l'argument $image doit être une image ressource. La taille de l'image peut être définie avec la valeur reçue de getDimension().
  • getDimension($width, $height) — Retourne un tableau concernant la taille de l'image requise
    Description
    Retourne un tableau dont le premier index est la largeur de l'image et le deuxième index est la hauteur de l'image.
    Les arguments sont utilisés pour spécifier le point de départ du dessin. Ils devraient être 0.
    La classe BCGDrawing utilise cette fonction pour créer la ressource d'image.
    Retourne
    array(int, int) - [0] étant la largeur, [1] étant la hauteur
  • getScale() — Retourne la résolution du code-barres
    Description
    Retourne la taille du code-barres. La valeur correspond à la "plus petite" unité exprimée en pixel.
    Retourne
    int - valeur en pixels
  • setScale($scale) — Fixe la résolution du code-barres
    Description
    Le code-barres sera $x fois plus grand. Un pixel sera alors de taille $x par $x.
  • getForegroundColor() — Retourne la couleur des barres
    Description
    Retourne la couleur des barres du code-barres.
    Retourne
  • setForegroundColor($color) — Fixe la couleur des barres
    Description
    La couleur des barres du code-barres. Par défaut, la couleur est noire. L'argument peut être soit une classe BCGColor ou n'importe quel autre argument que la classe BCGColor peut accepter à son constructeur.
  • getBackgroundColor() — Retourne la couleur des espaces
    Description
    Retourne la couleur des espaces du code-barres.
    Retourne
  • setBackgroundColor($color) — Fixe la couleur des espaces
    Description
    La couleur des espaces du code-barres. Par défaut, la couleur est blanche. L'argument peut être soit une classe BCGColor ou n'importe quel autre argument que la classe BCGColor peut accepter à son constructeur.
  • setColor($foregroundColor, $backgroundColor) — Fixe la couleur des barres et des espaces
    Description
    Une méthode plus rapide pour fixer la couleur de premier plan et de l'arrière-plan. Référez-vous à setForegroundColor() et setBackgroundColor().
  • getOffsetX() — Retourne le décalage en X
    Description
    Retourne le décalage en X en pixel. Cette valeur n'est pas multipliée par la résolution.
    Retourne
    int - valeur en pixels
  • setOffsetX($value) — Spécifie le décalage en X
    Description
    Spécifie le décalage en X du code-barres en pixel multiplié par la résolution. La taille requise retournée par getDimension() sera modifiée en conséquence.
  • getOffsetY() — Retourne le décalage en Y
    Description
    Retourne le décalage en Y en pixel. Cette valeur n'est pas multipliée par la résolution.
    Retourne
    int - valeur en pixels
  • setOffsetY($value) — Spécifie le décalage en Y
    Description
    Spécifie le décalage en Y du code-barres en pixel multiplié par la résolution. La taille requise retournée par getDimension() sera modifiée en conséquence.
  • addLabel($label) — Ajoute un texte qui accompagne le dessin
    Description
    Ajoute un objet BCGLabel au dessin.
  • removeLabel($label) — Supprime un texte qui accompagne le dessin
    Description
    Supprime un objet BCGLabel spécifique du graphique.
  • clearLabels() — Supprime les textes qui accompagnent le dessin
    Description
    Supprime tous les objets BCGLabel du dessin.