Introduction
Le Code 128 permet d'encoder tous les caractères ASCII de 0 à 127. Différentes tables d'encodage existent afin d'encoder le code de manière efficace. Lorsqu'un caractère n'est pas disponible dans une table, un caractère de changement de table est écrit. Il est possible de choisir la table de début du code, il est donc conseillé de choisir une table qui contient les premiers caractères que vous souhaitez écrire.
Si vous n'en spécifiez aucune, la table sera automatiquement choisie.
Voici la liste des caractères des tables :
- Table A : ASCII 0-95 (majuscules, chiffres, caractères spéciaux)
- Table B : ASCII 32-127 (majuscule, minuscule, chiffres, caractères spéciaux)
- Table C : Groupe de deux chiffres de 00 à 99
Le code 128 contient aussi 4 caractères spéciaux qui ne peuvent être écrit directement. Il s'agit des caractères FNC1, FNC2, FNC3 et FNC4. Vous pouvez les écrire en activant le caractère tilde (~) avec la méthode setTilde().
Vous pouvez passer du texte normal directement à la méthode parse() pour que celle-ci analyse votre texte et choisisse la meilleure méthode d'encodage. Vous pouvez cependant forcer une méthode d'encodage, voici les possibilités que vous pouvez passer à la méthode parse() :
- 'auto encoding' : méthode d'encodage automatique
- array(CODE128_A, 'TEXT') : Table A
- array(CODE128_B, 'text') : Table B
- array(CODE128_C, '012345') : Table C
- array(array(CODE128_C, '012345'), 'auto encoding') : plusieurs méthodes d'encodage
Cette classe hérite de la classe BCGBarcode1D.
Exemple
Méthodes de BCGcode128
- __construct($start = NULL) — Spécifie par quelle table doit commencer le code-barres
- setStart($start) — Spécifie par quelle table doit commencer le code-barres
- getTilde($tilde) — Retourne si le comportement du caractère ~ est modifié
- setTilde($tilde) — Modifie le fonctionnement du caractère tilde ~
Méthodes de BCGBarcode1D
- getThickness() — Retourne l'épaisseur du code-barres
- setThickness($thickness) — Spécifie l'épaisseur du code-barres
- getLabel() — Retourne le texte qui accompagne le code-barres
- setLabel($label) — Spécifie la police du texte qui accompagne le code-barres
- getFont() — Retourne la police du texte qui accompagne le code-barres
- setFont($font) — Spécifie la police du texte qui accompagne le code-barres
- getChecksum() — Retourne le checksum ajouté au code-barres
- setDisplayChecksum($display) — Spécifie que le checksum soit ajouté au texte qui accompagne le code-barres
Méthodes de BCGBarcode
- parse($text) — Analyse un message $text pour dessiner par la suite
- draw($im) — Dessine le code-barres sur l'image $im
- getDimension($w, $h) — Retourne un tableau concernant la taille de l'image requise
- getScale() — Retourne la résolution du code-barres
- setScale($x) — Fixe la résolution du code-barres
- getForegroundColor() — Retourne la couleur des espaces
- setForegroundColor($color) — Fixe la couleur des espaces
- getBackgroundColor() — Retourne la couleur des barres
- setBackgroundColor($color) — Fixe la couleur des barres
- setColor($fg, $bg) — Fixe la couleur du code-barres et des espaces
- getOffsetX() — Retourne le décalage en X
- setOffsetX($v) — Spécifie le décalage en X
- getOffsetY() — Retourne le décalage en Y
- setOffsetY($v) — Spécifie le décalage en Y
- addLabel($label) — Ajoute un texte qui accompagne le graphique
- removeLabel($label) — Supprime un texte qui accompagne le graphique
- clearLabels() — Supprime les textes qui accompagnent le graphique
Exemple de Code
<?php require('class/BCGFontFile.php'); require('class/BCGColor.php'); require('class/BCGDrawing.php'); require('class/BCGcode128.barcode.php'); $font = new BCGFontFile('./class/font/Arial.ttf', 18); $color_black = new BCGColor(0, 0, 0); $color_white = new BCGColor(255, 255, 255); // Barcode Part $code = new BCGcode128(); $code->setScale(2); $code->setThickness(30); $code->setForegroundColor($color_black); $code->setBackgroundColor($color_white); $code->setFont($font); $code->setStart(NULL); $code->setTilde(true); $code->parse('a123'); // Drawing Part $drawing = new BCGDrawing('', $color_white); $drawing->setBarcode($code); $drawing->draw(); header('Content-Type: image/png'); $drawing->finish(BCGDrawing::IMG_FORMAT_PNG); ?>
Explication des Méthodes
-
__construct($start = NULL)
— Spécifie par quelle table doit commencer le code-barres DescriptionL'argument peut être A, B, C ou NULL. Voyez la méthode setStart() pour de plus amples informations.
La valeur par défaut est NULL.
Cela signifie que la table est choisie automatiquement. -
setStart($start)
— Spécifie par quelle table doit commencer le code-barres DescriptionL'argument peut être A, B, C ou NULL. Cela signifie par quelle table doit commencer le code-barres.RetourneLa valeur par défaut est NULL.
Cela signifie que la table sera automatiquement choisie lorsque vous fournissez le texte.
Les tables comportent différents caractères qui peuvent être encodés dans le code-barres.
Référez-vous à l'introduction de ce document pour obtenir plus d'informations. -
getTilde($tilde)
— Retourne si le comportement du caractère ~ est modifié DescriptionRetourne si le comportement du caractère ~ est modifié.
Voyez aussi setTilde() pour plus de détails.Retournebool - true si activé, false autrement -
setTilde($tilde)
— Modifie le fonctionnement du caractère tilde ~ Description
- Écrit un simple tilde
- ~Fx : Écrit le caractère FNCx, avec x variant de 1 à 4.
RetourneLa valeur par défaut est true. -
getThickness()
— Retourne l'épaisseur du code-barres DescriptionL'épaisseur du code-barres est en pixel. La valeur n'est pas multipliée par la résolution.Retourneint - valeur en pixel
-
setThickness($thickness)
— Spécifie l'épaisseur du code-barres DescriptionL'épaisseur du code-barres est en pixel. Il s'agit de la grandeur verticale.
Cette valeur est multipliée par la résolution. Référez-vous à la méthode setScale().
La valeur par défaut est 30. -
getLabel()
— Retourne le texte qui accompagne le code-barres DescriptionRetourne la vraie valeur qui serait affichée avec le code-barres. Vous devez avoir appelé la méthode parse().Retournestring - valeur finale
-
setLabel($label)
— Spécifie la police du texte qui accompagne le code-barres DescriptionLe texte sera écrit au dessous ou au dessus du code-barres dépendamment de celui-ci. Vous pouvez écrire la valeur spéciale BCGBarcode1D::AUTO_LABEL si vous souhaitez que le texte soit automatiquement choisi. Il sera alors la valeur du texte passé à la méthode parse().
-
getFont()
— Retourne la police du texte qui accompagne le code-barres DescriptionRetourne la police pour le texte qui accompagne le code-barres.RetourneBCGFontFile, BCGFontPhp ou int
-
setFont($font)
— Spécifie la police du texte qui accompagne le code-barres DescriptionLa valeur de l'argument peut être soit une instance de la classe BCGFontFile, BCGFontPhp, ou un chiffre de 1 à 5.
Si vous utilisez un chiffre etre 1 et 5, la police de PHP est utilisée. Référez-vous au Manuel PHP. -
getChecksum()
— Retourne le checksum ajouté au code-barres DescriptionRetourne la valeur qui sera ajoutée au texte qui accompagne le code-barres. Cette méthode doit être appelée après la méthode parse().Retourneint - checksum ajouté ou false s'il n'y a pas de checksum
-
setDisplayChecksum($display)
— Spécifie que le checksum soit ajouté au texte qui accompagne le code-barres DescriptionSpécifier true ajoutera le checksum au texte qui accompagne le code-barres par défaut.
La valeur par défaut est true. -
parse($text)
— Analyse un message $text pour dessiner par la suite DescriptionLes 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($im)
— Dessine le code-barres sur l'image $im DescriptionLa valeur de l'argument $im doit être une ressource image GD2. La taille de l'image peut être définie avec la valeur reçue de getDimension().
-
getDimension($w, $h)
— Retourne un tableau concernant la taille de l'image requise DescriptionRetourne 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.Retournearray(int, int) - [0] étant la largeur, [1] étant la hauteur -
getScale()
— Retourne la résolution du code-barres DescriptionRetourne la taille du code-barres. La valeur correspond à la "plus petite" unité exprimée en pixel.Retourneint - valeur en pixel
-
setScale($x)
— Fixe la résolution du code-barres DescriptionLe code-barres sera $x fois plus grand. Un pixel sera alors de taille $x par $x.
-
getForegroundColor()
— Retourne la couleur des espaces DescriptionRetourne la couleur des espaces du code-barres.Retourne
- setForegroundColor($color) — Fixe la couleur des espaces
-
getBackgroundColor()
— Retourne la couleur des barres DescriptionRetourne la couleur des barres du code-barres.Retourne
- setBackgroundColor($color) — Fixe la couleur des barres
-
setColor($fg, $bg)
— Fixe la couleur du code-barres et des espaces DescriptionUne méthode plus rapide pour fixer la couleur de premier plan et de dernier plan. Référez-vous à setForegroundColor() et setBackgroundColor().
-
getOffsetX()
— Retourne le décalage en X DescriptionRetourne le décalage en X en pixel. Cette valeur n'est pas multipliée par la résolution.Retourneint - valeur en pixel
-
setOffsetX($v)
— Spécifie le décalage en X DescriptionSpé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 DescriptionRetourne le décalage en Y en pixel. Cette valeur n'est pas multipliée par la résolution.Retourneint - valeur en pixel
-
setOffsetY($v)
— Spécifie le décalage en Y DescriptionSpé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 graphique DescriptionAjoute un objet BCGLabel au graphique.
-
removeLabel($label)
— Supprime un texte qui accompagne le graphique DescriptionSupprime un objet BCGLabel spécifique du graphique.
-
clearLabels()
— Supprime les textes qui accompagnent le graphique DescriptionSupprime tous les objets BCGLabel du graphique.
