Spécifications Techniques - MaxiCode
Le code MaxiCode est régi par les standards internationaux ISO (IEC 16023). Vous pouvez l'utiliser pour vos applications. Il est principalement utilisé pour envoyer des paquets.
MaxiCode est un code-barres 2D qui peut encoder un nombre spécifique d'informations à l'intérieur d'un symbole carré. Tous les 256 caractères peuvent être encodés.
Il est possible d'utiliser plusieurs symboles afin de former un long message.
Ce code-barres contient un moyen de correction d'erreurs basé sur l'algorithme Reed-Solomon. Le niveau de correction inclue peut être standard ou amélioré.
Encodage
Les données encodées des différents codes-barres proviennent de différents jeux de caractères. Changer entre les différents jeux influence le nombre maximal de données que vous pouvez utiliser.
Voici la liste de chaque jeu de caractères et ce qui peut être encodé. Tous les jeux de caractères supportent FS (28), GS (29), RS (30) et l'espace (32)
- Jeu A : Lettre majuscule, chiffres et 15 symboles de ponctuation communs : "#$%&'()*+,-./: and CR (13)
- Jeu B : Lettre minuscule et plusieurs symboles de ponctuation : {}~`;<=>?[\]^_,./:@!| and DEL (127)
- Jeu C : Lettre majuscule multilingue et autre caractères graphiques : ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖ×ØÙÚÛÜÝÞߪ¬±²³µ¹º¼½¾€‚ƒ„…†‡ˆ‰
- Jeu D : Lettre minuscule multilingue et autre caractères graphiques : àáâãäåæçèéêëìíîïðñòóôõö÷øùúûüýþÿ¡¨«¯°´·¸»¿Š‹ŒŽ‘’“”
- Jeu E : ASCII 0-31, 149-160, 162-167, 169, 173-174, 182
L'encodage commence toujours par le jeu de caractères A.
Mode
Il y a cinq modes disponibles. Chacun d'eux propose différentes fonctionnalités.
Choisissez le mode approprié pour votre application.
- Mode 1: Message pour Transporteur (voir ci-dessous)
- Mode 4: Symbole standard (défaut)
- Mode 5 : EEC Complet (correction améliorée)
- Mode 6 : Programmation du Lecteur
Modes 2 et 3
Ces modes doivent être réservés pour utilisation en tant que symbole de tri de destination pour une utilisation par les transporteurs dans l'industrie du transport. Ce message inclut :
- 3 chiffres représentant la classe de service
- 3 chiffres représentant le code de pays (ISO 3166)
- code postal
En mode 3, le code postal encode jusqu'à 6 caractères du jeu de caractères A.
Pour utiliser un de ces modes, vous devez utiliser la méthode setPrimaryMessage().
Si vous n'utilisez pas cette méthode, Barcode Bakery essaiera d'extraire les données requises avec la méthode parse().
Vous pouvez utiliser le standard générique qui commence par [)>RS01GS
Dans ce cas, le message ressemblera à ceci :
[)>RS01GSyyppppppGSaaaGSbbbGSrest
- yy: date (yy), suivi par
- pppppp: code postal, suivi par le séparateur GS, ensuite
- aaa: code de pays, suivi par le séparateur GS, ensuite
- bbb: classe de service, suivi par le séparateur GS, ensuite
- rest: reste du message optionnel
Messages
MaxiCode encode les données en deux messages appelés Message Primaire et Secondaire. Pour les modes 4, 5, ou 6, les messages primaire et secondaire sont unis pour former qu'un seul.
Cependant, le message primaire utilise toujours la correction d'erreur améliorée, alors que le message secondaire utilise toujours la correction d'erreur standard sauf pour si le mode 5 est choisi.
Structured Append
BCGmaxicode supporte le mode Structured Append. Vous pouvez répartir sur plusieurs codes-barres un unique message avec cette fonctionnalité.
Vous pouvez utiliser un maximum de 8 codes-barres différents.
Extended Channel Interpretation
BCGmaxicode supporte Extended Channel Interpretation. Ceci permet que la lecture du code-barres soit interprétée avec un jeu de caractères différents de celui par défaut.
Pour l'activer, vous devez utiliser setAcceptECI() et ensuite utiliser le code \xxxxxx dans votre message. X représente un chiffre entre 0 et 9.
Vous souhaitez encoder la chaîne de caractères : ¶Ж. Les deux caractères peuvent être représentés par le code ASCII 182.
Le premier caractère provient de ECI 000003 (ISO-8859-1 qui est par défaut) et le second caractère provient de ECI 000007 (ISO-8859-5 cyrillique).
Vous pouvez procéder ainsi :
$code->setAcceptECI(true);
$code->parse(chr(182) . '\000007' . chr(182));
Veuillez noter que votre lecteur de codes-barres doit supporter cette fonctionnalité.
Prêt à Imprimer
Barcode Bakery prépare le MaxiCode pour l'impression. À une résolution 1, l'image est parfaite pour l'impression à 300 DPI.
Cependant, si vous souhaitez afficher le code-barres à l'écran, vous devrez redimensionner l'image avec imagecopyresampled().
Barcode Bakery Supporte
Supporte | |
---|---|
Encodage Caractères, Chiffres, Binaires | |
Encodage sur plusieurs codes (Structured Append) | |
Extended Channel Interpretation (Arabe, Hebreux, etc.) | |
Modes 2 et 3 pour symbole de tri de destination | |
Modes 0 et 1 * | |
Specifique à la librairie PHP | |
PHP 7.4 | |
PHP 8+ |