Classe PHP : barcode
Version : 2.0.3
Licence : GPL / Cecill
Date : 2013-01-06
Auteur: DEMONTE Jean-Baptiste, HOUREZ Jonathan
Télécharger PHP Barcode 2.0.3
Installation de la classe PHP Barcode
Comme toute classe, il suffit d'inclure le fichier source.
include('Barcode.php');
Elle va définir les classes :
- Barcode
- BarcodeI25
- BarcodeEAN
- BarcodeMSI
- Barcode11
- Barcode39
- Barcode93
- Barcode128
- BarcodeCodabar
- BarcodeDatamatrix
Utilisation de la classe PHP Barcode
Pour utiliser cette classe, deux méthodes statiques sont disponibles, l'une destinée à une ressource gd et l'autre à une ressource fpdf
Barcode::gd($res, $color, $x, $y, $angle, $type, $datas, $width = null, $height = null); Barcode::fpdf($res, $color, $x, $y, $angle, $type, $datas, $width = null, $height = null);
$res
ressource gd ou fpdf
L'unité de mesure dépend de la ressource : pixel pour GD et définit dans le constructeur pour fpdf.
$color
int, chaine
Descripteur de la couleur (int) pour GD et chaine hexadécimale pour fpdf (ex: "FF0000")
$x, $y
numérique
Coordonnées du centre du code-barres
$angle
numérique
Angle de rotation en degré
$datas
string
Valeur du code barres (dépendante du type de code barres)
Si le type de code barres en inclus, la présence de checksum n'est pas obligatoire, il est automatiquement recalculé
tableau
type : ean8, ean13, code11, code39, code128, codabar | |
---|---|
member | Type |
code | string |
type : std25, int25, code93 | |
---|---|
member | Type |
code | string |
crc | boolean |
type : msi | ||
---|---|---|
member | Type | |
code | string | |
crc | boolean | |
tableau | crc1 : string("mod10", "mod11") | |
crc2 : string("mod10", "mod11") |
type : datamatrix | |
---|---|
member | Type |
code | string |
rect | boolean (defaut : false) |
type (string)
- codabar
- code11 (code 11)
- code39 (code 39)
- code93 (code 93)
- code128 (code 128)
- ean8 (ean 8)
- ean13 (ean 13)
- std25 (2 parmi 5 standart - industriel)
- int25 (2 parmi 5 entrelacé)
- msi
- datamatrix (ASCII + étendu)
$width, $height
numérique
hauteur et largeur d'un module, pour les code-barres 2D (datamatrix), $height n'est pas utilisé
<< Retour >>
Ces deux méthodes retournent un tableau contenant les dimensions du code-barres ainsi que les coordonnées de ses extrémités
array( 'width' => w, 'height'=> h, 'p1' => array('x' => x, 'y' => y), 'p2' => array('x' => x, 'y' => y), 'p3' => array('x' => x, 'y' => y), 'p4' => array('x' => x, 'y' => y) );
Exemple :
$im = imagecreatetruecolor(300, 300); $black = ImageColorAllocate($im,0x00,0x00,0x00); $white = ImageColorAllocate($im,0xff,0xff,0xff); imagefilledrectangle($im, 0, 0, 300, 300, $white); $data = Barcode::gd($im, $black, 150, 150, 0, "code128", "12345678", 2, 50);
La fonction "rotate" permet de calculer les coordonnées de rotation de point, trés utile pour centrer la "hri" (human readable interpretation)
Exemple
$box = imagettfbbox($fontSize, 0, $font, $data['hri']); $len = $box[2] - $box[0]; Barcode::rotate(-$len / 2, ($data['height'] / 2) + $fontSize + $marge, $angle, $xt, $yt); imagettftext($im, $fontSize, $angle, $x + $xt, $y + $yt, $blue, $font, $data['hri']);