Manuel - Code 128
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(BCGcode128::CODE128_A, 'TEXT')
: Table Aarray(BCGcode128::CODE128_B, 'text')
: Table Barray(BCGcode128::CODE128_C, '012345')
: Table Carray(array(BCGcode128::CODE128_C, '012345'), 'auto encoding')
: plusieurs méthodes d'encodage
Cette classe hérite de la classe BCGBarcode1D.
Prise en charge des caractères ASCII étendus
Afin de prendre en charge les caractères ASCII étendus tels que ü (u-umlaut / diérèse) ou ß (eszett), vous devez précéder le caractère d'un FNC4 puis soustraire le point unicode du caractère par 128.
Le code FNC4 agit comme une bascule pour un seul caractère. Si vous prévoyez d'encoder plus d'un caractère consécutif, vous pouvez utiliser deux caractères FNC4 consécutifs pour verrouiller les caractères suivants en mode étendu. Vous pouvez répéter les doubles caractères FNC4 pour revenir au mode non-étendu.
Par exemple, pour encoder Grüße, procédez comme suit:
$text = 'Gr~F4' . chr(mb_ord('ü') - 128) . '~F4' . chr(mb_ord('ß') - 128) . 'e';
ou
$text = 'Gr~F4~F4' . chr(mb_ord('ü') - 128) . chr(mb_ord('ß') - 128) . '~F4e';
Exemple
Méthodes
Méthodes de BCGcode128
-
__construct(
$start ) — Spécifie par quelle table doit commencer le code-barres -
setStart(
$start ) — Spécifie par quelle table doit commencer le code-barres - getTilde() — 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 le 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 chiffre de vérification ajouté au code-barres
-
setDisplayChecksum(
$display ) — Spécifie que le chiffre de vérification 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(
$image ) — Dessine le code-barres sur l'image$image -
getDimension(
$width ,$height ) — Retourne un tableau concernant la taille de l'image requise - getScale() — Retourne la résolution du code-barres
-
setScale(
$scale ) — Fixe la résolution du code-barres - getForegroundColor() — Retourne la couleur des barres
-
setForegroundColor(
$color ) — Fixe la couleur des barres - getBackgroundColor() — Retourne la couleur des espaces
-
setBackgroundColor(
$color ) — Fixe la couleur des espaces -
setColor(
$foregroundColor ,$backgroundColor ) — Fixe la couleur des barres et des espaces - getOffsetX() — Retourne le décalage en X
-
setOffsetX(
$value ) — Spécifie le décalage en X - getOffsetY() — Retourne le décalage en Y
-
setOffsetY(
$value ) — Spécifie le décalage en Y -
addLabel(
$label ) — Ajoute un texte qui accompagne le dessin -
removeLabel(
$label ) — Supprime un texte qui accompagne le dessin - clearLabels() — Supprime les textes qui accompagnent le dessin
Exemple de Code
<?php
use BarcodeBakery\Common\BCGFontFile;
use BarcodeBakery\Common\BCGColor;
use BarcodeBakery\Common\BCGDrawing;
use BarcodeBakery\Barcode\BCGcode128;
$font = new BCGFontFile(__DIR__ . '/font/Arial.ttf', 18);
$colorBlack = new BCGColor(0, 0, 0);
$colorWhite = new BCGColor(255, 255, 255);
// Barcode Part
$code = new BCGcode128();
$code->setScale(2);
$code->setThickness(30);
$code->setForegroundColor($colorBlack);
$code->setBackgroundColor($colorWhite);
$code->setFont($font);
$code->setStart(null);
$code->setTilde(true);
$code->parse('a123');
// Drawing Part
$drawing = new BCGDrawing($code, $colorWhite);
header('Content-Type: image/png');
$drawing->finish(BCGDrawing::IMG_FORMAT_PNG);
?>
Explications des Méthodes
-
__construct(
$start ) — Spécifie par quelle table doit commencer le code-barresDescriptionL'argument peut être A, B, C ou null. Voyez la méthodesetStart() 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-barresDescriptionL'argument peut être A, B, C ou null. Cela signifie par quelle table doit commencer le code-barres.
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-barres.
Référez-vous à l'introduction de ce document pour obtenir plus d'informations. -
getTilde()
—
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 ~DescriptionEn mettanttrue à 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.
-
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.Retourne
int - valeur en pixel -
setThickness(
$thickness ) — Spécifie l'épaisseur du code-barresDescriptionL'épaisseur du code-barres est en pixel. Il s'agit de la grandeur verticale. -
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 le texte qui accompagne le code-barresDescriptionLe texte sera écrit au dessous ou au dessus du code-barres dépendamment de celui-ci. Vous pouvez écrire la valeur spécialeBCGBarcode1D::AUTO_LABEL si vous souhaitez que le texte soit automatiquement choisi. Il sera alors la valeur du texte passé à la méthodeparse() . -
getFont()
—
Retourne la police du texte qui accompagne le code-barres
DescriptionRetourne la police du texte qui accompagne le code-barres.Retourne
-
setFont(
$font ) — Spécifie la police du texte qui accompagne le code-barresDescriptionLa valeur de cet argument peut soit être une instance deBCGFontFile class,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 chiffre de vérification 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 - chiffre de vérification ajouté oufalse s'il n'y a pas de chiffre de vérification -
setDisplayChecksum(
$display ) — Spécifie que le chiffre de vérification soit ajouté au texte qui accompagne le code-barresDescriptionSpécifiertrue ajoutera le chiffre de vérification 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 suiteDescriptionLes 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 DescriptionLa valeur de l'argument$image doit être une image ressource. La taille de l'image peut être définie avec la valeur reçue degetDimension() . -
getDimension(
$width ,$height ) — Retourne un tableau concernant la taille de l'image requiseDescriptionRetourne 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 classeBCGDrawing 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.Retourne
int - valeur en pixels -
setScale(
$scale ) — Fixe la résolution du code-barresDescriptionLe code-barres sera$x fois plus grand. Un pixel sera alors de taille$x par$x . -
getForegroundColor()
—
Retourne la couleur des barres
DescriptionRetourne la couleur des barres du code-barres.Retourne
-
setForegroundColor(
$color ) — Fixe la couleur des barres -
getBackgroundColor()
—
Retourne la couleur des espaces
DescriptionRetourne la couleur des espaces du code-barres.Retourne
-
setBackgroundColor(
$color ) — Fixe la couleur des espaces -
setColor(
$foregroundColor ,$backgroundColor ) — Fixe la couleur des barres et des espacesDescriptionUne méthode plus rapide pour fixer la couleur de premier plan et de l'arrière-plan. Référez-vous àsetForegroundColor() etsetBackgroundColor() . -
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.Retourne
int - valeur en pixels -
setOffsetX(
$value ) — Spécifie le décalage en XDescriptionSpécifie le décalage en X du code-barres en pixel multiplié par la résolution. La taille requise retournée pargetDimension() 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.Retourne
int - valeur en pixels -
setOffsetY(
$value ) — Spécifie le décalage en YDescriptionSpécifie le décalage en Y du code-barres en pixel multiplié par la résolution. La taille requise retournée pargetDimension() sera modifiée en conséquence. -
addLabel(
$label ) — Ajoute un texte qui accompagne le dessinDescriptionAjoute un objetBCGLabel au dessin. -
removeLabel(
$label ) — Supprime un texte qui accompagne le dessinDescriptionSupprime un objetBCGLabel spécifique du graphique. -
clearLabels()
—
Supprime les textes qui accompagnent le dessin
DescriptionSupprime tous les objets
BCGLabel du dessin.