Introduction
Databar Extended (précédemment RSS Expanded) encode les données basées sur le standard de l'organisation GS1. Faute de se conformer au standard peut produire un code-barres illisible.
Pour connaître les caractères supportés et les modes d'encodage, voyez la page aperçu.
Le code-barres est toujours composé d'un identifiant suivi d'une valeur. Puisque les parenthèses peuvent être une valeur possible, vous ne devez pas entourer l'identifiant de parenthèses.
Databar Extended peut contenir plusieurs identifiants. Si vous utilisez un identifiant de taille variable, vous devez terminer sa valeur par un caractère FNC1 à moins que la valeur termine le code-barres.
La hauteur minimale doit être de 34 pixels.
Liste des identifiants :
| Id | Name | Type | Taille | Checksum |
| 00 | Serial Shipping Container Code (SSCC-18) | Numérique | 2 + 18 | oui |
| 01 | Shipping Container Code (SSC) | Numérique | 2 + 14 | oui |
| 02 | Number of containers | Numérique | 2 + 14 | oui |
| 10 | Batch Number | Alphanumérique | 2 + 1 à 20 | non |
| 11 | Production Date | Date | 2 + 6 | non |
| 12 | Due date | Date | 2 + 6 | non |
| 13 | Packaging Date | Date | 2 + 6 | non |
| 15 | Sell by Date (Quality Control) | Date | 2 + 6 | non |
| 17 | Expiration Date | Date | 2 + 6 | non |
| 20 | Product Variant | Numérique | 2 + 2 | non |
| 21 | Serial Number | Alphanumérique | 2 + 1 à 20 | non |
| 240 | Additional Product Identification | Alphanumérique | 3 + 1 à 30 | non |
| 241 | Customer part number | Alphanumérique | 3 + 1 à 30 | non |
| 250 | Second Serial Number | Alphanumérique | 3 + 1 à 30 | non |
| 251 | Reference to source entity | Alphanumérique | 3 + 1 à 30 | non |
| 253 | Global Document Type Identifier | Numérique | 3 + 14 à 30 | non |
| 254 | GLN Extension Component | 3 + 1 à 20 | non | |
| 30 | Quantity Each | Numérique | 2 + 1 à 8 | non |
| 310y | Product Net Weight in kg | Numérique | 4 + 6 | non |
| 311y | Product Length/1st Dimension, in meters | Numérique | 4 + 6 | non |
| 312y | Product Width/Diameter/2nd Dimension, in meters | Numérique | 4 + 6 | non |
| 313y | Product Depth/Thickness/3rd Dimension, in meters | Numérique | 4 + 6 | non |
| 314y | Product Area, in square meters | Numérique | 4 + 6 | non |
| 315y | Product Volume, in liters | Numérique | 4 + 6 | non |
| 316y | product Volume, in cubic meters | Numérique | 4 + 6 | non |
| 320y | Product Net Weight, in pounds | Numérique | 4 + 6 | non |
| 321y | Product Length/1st Dimension, in inches | Numérique | 4 + 6 | non |
| 322y | Product Length/1st Dimension, in feet | Numérique | 4 + 6 | non |
| 323y | Product Length/1st Dimension, in yards | Numérique | 4 + 6 | non |
| 324y | Product Width/Diameter/2nd Dimension, in inches | Numérique | 4 + 6 | non |
| 325y | Product Width/Diameter/2nd Dimension, in feet | Numérique | 4 + 6 | non |
| 326y | Product Width/Diameter/2nd Dimension, in yards | Numérique | 4 + 6 | non |
| 327y | Product Depth/Thickness/3rd Dimension, in inches | Numérique | 4 + 6 | non |
| 328y | Product Depth/Thickness/3rd Dimension, in feet | Numérique | 4 + 6 | non |
| 329y | Product Depth/Thickness/3rd Dimension, in yards | Numérique | 4 + 6 | non |
| 330y | Container Gross Weight (Kg) | Numérique | 4 + 6 | non |
| 331y | Container Length/1st Dimension (Meters) | Numérique | 4 + 6 | non |
| 332y | Container Width/Diameter/2nd Dimension (Meters) | Numérique | 4 + 6 | non |
| 333y | Container Depth/Thickness/3rd Dimension (Meters) | Numérique | 4 + 6 | non |
| 334y | Container Area (Square Meters) | Numérique | 4 + 6 | non |
| 335y | Container Gross Volume (Liters) | Numérique | 4 + 6 | non |
| 336y | Container Gross Volume (Cubic Meters) | Numérique | 4 + 6 | non |
| 337y | Kilograms per square meter | Numérique | 4 + 6 | non |
| 340y | Container Gross Weight (Pounds) | Numérique | 4 + 6 | non |
| 341y | Container Length/1st Dimension, in inches | Numérique | 4 + 6 | non |
| 342y | Container Length/1st Dimension, in feet | Numérique | 4 + 6 | non |
| 343y | Container Length/1st Dimension in, in yards | Numérique | 4 + 6 | non |
| 344y | Container Width/Diameter/2nd Dimension, in inches | Numérique | 4 + 6 | non |
| 345y | Container Width/Diameter/2nd Dimension, in feet | Numérique | 4 + 6 | non |
| 346y | Container Width/Diameter/2nd Dimension, in yards | Numérique | 4 + 6 | non |
| 347y | Container Depth/Thickness/Height/3rd Dimension, in inches | Numérique | 4 + 6 | non |
| 348y | Container Depth/Thickness/Height/3rd Dimension, in feet | Numérique | 4 + 6 | non |
| 349y | Container Depth/Thickness/Height/3rd Dimension, in yards | Numérique | 4 + 6 | non |
| 350y | Product Area (Square Inches) | Numérique | 4 + 6 | non |
| 351y | Product Area (Square Feet) | Numérique | 4 + 6 | non |
| 352y | Product Area (Square Yards) | Numérique | 4 + 6 | non |
| 353y | Container Area (Square Inches) | Numérique | 4 + 6 | non |
| 354y | Container Area (Square Feet) | Numérique | 4 + 6 | non |
| 355y | Container Area (Square Yards) | Numérique | 4 + 6 | non |
| 356y | Net Weight (Troy Ounces) | Numérique | 4 + 6 | non |
| 357y | Kilograms per square meter | Numérique | 4 + 6 | non |
| 360y | Product Volume (Quarts) | Numérique | 4 + 6 | non |
| 361y | Product Volume (Gallons) | Numérique | 4 + 6 | non |
| 362y | Container Gross Volume (Quarts) | Numérique | 4 + 6 | non |
| 363y | Container Gross Volume (Gallons) | Numérique | 4 + 6 | non |
| 364y | Product Volume (Cubic Inches) | Numérique | 4 + 6 | non |
| 365y | Product Volume (Cubic Feet) | Numérique | 4 + 6 | non |
| 366y | Product Volume (Cubic Yards) | Numérique | 4 + 6 | non |
| 367y | Container Gross Volume (Cubic Inches) | Numérique | 4 + 6 | non |
| 368y | Container Gross Volume (Cubic Feet) | Numérique | 4 + 6 | non |
| 369y | Container Gross Volume (Cubic Yards) | Numérique | 4 + 6 | non |
| 37 | Number of Units Contained | Numérique | 2 + 1 à 8 | non |
| 390y | Amount payable-single monetary area | Numérique | 4 + 1 à 15 | non |
| 391y | Amount payable with ISO currency code | Numérique | 4 + 4 à 18 | non |
| 392y | Amount payable for a Variable Measure Trade Item single monetary unit | Numérique | 4 + 1 à 15 | non |
| 393y | Amount payable for a Variable Measure Trade Item - with ISO currency code | Numérique | 4 + 4 à 18 | non |
| 400 | Customer Purchase Order Number | Alphanumérique | 3 + 1 à 30 | non |
| 401 | Consignment number | Alphanumérique | 3 + 1 à 30 | non |
| 402 | Shipment Identification Number | Numérique | 3 + 17 | non |
| 403 | Routing code | Alphanumérique | 3 + 1 à 30 | non |
| 410 | Ship To/Deliver To Location Code (EAN13 or DUNS code) | Numérique | 3 + 13 | oui |
| 411 | Bill To/Invoice Location Code (EAN13 or DUNS code) | Numérique | 3 + 13 | oui |
| 412 | Purchase From Location Code (EAN13 or DUNS code) | Numérique | 3 + 13 | oui |
| 413 | Ship for - deliver for - forward to EAN.UCC Global Location Number | Numérique | 3 + 13 | oui |
| 414 | Identification of a physical location EAN.UCC Global Location Number | Numérique | 3 + 13 | oui |
| 415 | EAN.UCC Global Location Number of the invoicing party | Numérique | 3 + 13 | oui |
| 420 | Ship To/Deliver To Postal Code (Single Postal Authority) | Alphanumérique | 3 + 1 à 20 | non |
| 421 | Ship To/Deliver To Postal Code (Multiple Postal Authority) | Alphanumérique | 3 + 4 à 12 | non |
| 422 | Country of origin of a trade item | Numérique | 3 + 3 | non |
| 423 | Country of Initial Processing | Numérique | 3 + 3 à 15 | non |
| 424 | Country of Processing | Numérique | 3 + 3 | non |
| 425 | Country of Disassembly | Numérique | 3 + 3 | non |
| 426 | Country Covering full Process Chain | Numérique | 3 + 3 | non |
| 7001 | NATO Stock Number (NSN) | Numérique | 4 + 13 | non |
| 7002 | UN/ECE Meat Carcasses and Cuts Classification | Alphanumérique | 4 + 1 à 30 | non |
| 7003 | Expiration Date and Time | Numérique | 4 + 10 à | non |
| 7004 | Active Potency | Numérique | 4 + 1 à 4 | non |
| 703s | Approval Number of Processor with ISO Country Code | Alphanumérique | 4 + 3 à 31 | non |
| 8001 | Roll Products - Width/Length/Core Diameter | Numérique | 4 + 14 | non |
| 8002 | Electronic Serial Number (ESN) for Cellular Phone | Alphanumérique | 4 + 1 à 20 | non |
| 8003 | UPC/EAN Number and Serial Number of Returnable Asset | Alphanumérique | 4 + 15 à 30 | non |
| 8004 | UPC/EAN Serial Identification | Alphanumérique | 4 + 1 à 30 | non |
| 8005 | Price per Unit of Measure | Numérique | 4 + 6 | non |
| 8006 | Identification of the component of a trade item | Numérique | 4 + 18 | non |
| 8007 | International Bank Account Number | Alphanumérique | 4 + 1 à 30 | non |
| 8008 | Date and Time of Production | Numérique | 4 + 8 à 12 | non |
| 8018 | EAN.UCC Global Service Relation Number | Numérique | 4 + 18 | non |
| 8020 | Payment Slip Reference Number | Alphanumérique | 4 + 1 à 25 | non |
| 8100 | Coupon Extended Code: Number System and Offer | Numérique | 4 + 6 | non |
| 8101 | 8101 Coupon Extended Code: Number System, Offer, End of Offer | Numérique | 4 + 10 | non |
| 8102 | Coupon Extended Code: Number System preceded by 0 | Numérique | 4 + 2 | non |
| 8110 | Coupon Code Identification for Use in North America | Alphanumérique | 4 + 1 à 30 | non |
| 90 | Mutually Agreed Between Trading Partners | Alphanumérique | 2 + 1 à 30 | non |
| 91 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 92 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 93 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 94 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 95 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 96 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 97 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 98 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
| 99 | Internal Company Codes | Alphanumérique | 2 + 1 à 30 | non |
* La date est de format "AAMMDD".
Cette classe hérite de la classe BCGBarcode1D.
Exemple
Méthodes de BCGdatabarexpanded
- getLinkageFlag() — Récupère si le flag de liaison est activé
- setLinkageFlag($linkageFlag) — Spécifie d'utiliser le flag de liaison
- setStacked($stackedRow) — Spécifie le nombre de lignes désirées
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/BCGdatabarexpanded.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 BCGdatabarexpanded(); $code->setScale(2); $code->setThickness(30); $code->setForegroundColor($color_black); $code->setBackgroundColor($color_white); $code->setFont($font); $code->parse('0190012345678908'); // 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
-
getLinkageFlag()
— Récupère si le flag de liaison est activé DescriptionRécupère si le flag de liaison est activé.Retournebool
-
setLinkageFlag($linkageFlag)
— Spécifie d'utiliser le flag de liaison DescriptionSpécifie d'utiliser le flag de liaison, il est utilisé en conjonction avec un code-barres UCC/EAN.
Spécifier cette propriété à true ne changera pas la taille de votre code-barres.
La valeur par défaut est false. -
setStacked($stackedRow)
— Spécifie le nombre de lignes désirées DescriptionSpécifie le nombre de lignes désirées. Le nombre maximal est 11.
Certaines valeurs ne sont pas possible; si vous utilisez un encodage de taille fixe, le nombre maximal de lignes sera 2.
Si le flag de liaison est activé, la taille du code-barres doit être au moins 102 pixels.
La valeur par défaut est 1. -
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.
