IntroductionLe 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, depuis la version 2.1.0, 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().
Nouveau depuis
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.
Méthodes de BCGcode128Méthodes de BCGBarcode1DMéthodes de BCGBarcodeExemple
<?php
require('class/BCGFont.php');
require('class/BCGColor.php');
require('class/BCGDrawing.php');
require('class/BCGcode128.barcode.php');
$font = new BCGFont('./class/font/Arial.ttf', 18);
$color_black = new BCGColor(0, 0, 0);
$color_white = new BCGColor(255, 255, 255);
$code = new BCGcode128();
$code->setScale(2);
$code->setThickness(30);
$code->setForegroundColor($color_black);
$code->setBackgroundColor($color_white);
$code->setFont($font);
$code->setStart('B');
$code->setTilde(true);
$code->parse('a123');
$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 barre
Description
L'argument peut être A, B ou C. 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 barre
Description
L'argument peut être A, B, C ou NULL. Cela signifie par quelle table doit commencer le code barre.
La 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 barre.
Référez-vous à l'introduction de ce document pour obtenir plus d'informations.
setTilde($tilde) — Spécifie si le tilde ~ doit être traité
Description
En mettant
true à l'argument de cette méthode, les caractères tilde (ASCII 126 ~) seront pris
comme des caractères spéciaux. Voici les caractères spéciaux que vous pouvez écrire.
- ~~ : Écrit un simple tilde
- ~Fx : Écrit le caractère FNCx, avec x variant de 1 à 4.
La valeur par défaut est
true.
setThickness($thickness) — Spécifie l'épaisseur du code barre
Description
L'épaisseur du code barre 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.
getThickness() — Retourne l'épaisseur du code barre
Description
L'épaisseur du code barre est en pixel. La valeur n'est pas multipliée par la résolution.
setLabel($label) — Spécifie le texte qui accompagne le code barre
Description
Le texte sera écrit au dessous ou au dessus du code barre 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().
getLabel() — Retourne le texte qui accompagne le code barre
Description
Retourne la vraie valeur qui serait affichée avec le code barre. Vous devez avoir appelé la méthode
parse().
setFont($font) — Spécifie la police du texte qui accompagne le code barre
Description
La valeur de l'argument peut être soit une instance de la classe
BCGFont ou un chiffre de 1 à 5.
Vous pourrez spécifier une police spécifique avec la classe BCGFont, alors qu'avec les chiffres, les polices de PHP seront utilisées.
Référez-vous au
manuel PHP.
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 code barre que vous utilisez.
Référez-vous à l'introduction du code barre pour obtenir plus d'informations.
draw($im) — Dessine le code barre sur l'image
$im
Description
La 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
getMaxSize().
getMaxSize() — 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. 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 barre
Description
Retourne la taille du code barre. La veleur correspond à la "plus petite" unité exprimée en pixel.
Retourne
int - valeur en pixel
setScale($x) — Fixe la résolution du code barre
Description
Le code barre sera $x fois plus grand. Un pixel sera alors de taille $x par $x.
setForegroundColor($color) — Fixe la couleur du code barre
Description
La couleur des barres du code barre. 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.
setBackgroundColor($color) — Fixe la couleur du fond
Description
La couleur de fond du code barre. 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($fg, $bg) — Fixe la couleur du code barre et de fond
setOffsetX($v) — Spécifie le décalage en X
Description
Spécifie le décalage en X du code barre en pixel multiplié par l'échelle. La taille requise retournée par
getMaxSize() sera modifiée en conséquence.
setOffsetY($v) — Spécifie le décalage en Y
Description
Spécifie le décalage en Y du code barre en pixel multiplié par l'échelle. La taille requise retournée par
getMaxSize() sera modifiée en conséquence.