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
  • [Code128.CODE128_A, 'TEXT'] : Table A
  • [Code128.CODE128_B, 'text'] : Table B
  • [Code128.CODE128_C, '012345'] : Table C
  • [[Code128.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:

const text = 'Gr~F4' + String.fromCharCode('ü'.charCodeAt(0) - 128) + '~F4'
    + String.fromCharCode('ß'.charCodeAt(0) - 128) + 'e';

ou

const text = 'Gr~F4~F4' + String.fromCharCode('ü'.charCodeAt(0) - 128)
    + String.fromCharCode('ß'.charCodeAt(0) - 128) + '~F4e';

Exemple

Méthodes

Méthodes de BCGcode128

  • BCGcode128(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

Méthodes de BCGBarcode

Exemple de Code

'use strict';

import { createServer } from 'http';
import {
    BCGColor,
    BCGDrawing,
    BCGFont,
    BCGLabel,
    createSurface,
    toBuffer
} from '@barcode-bakery/barcode-nodejs';
import { BCGcode128 } from '@barcode-bakery/barcode-nodejs/1d';

http.createServer(function (request, response) {
    const font = new BCGFont('Arial', 18);
    const colorBlack = new BCGColor(0, 0, 0);
    const colorWhite = new BCGColor(255, 255, 255);

    // Barcode Part
    const code = new BCGcode128();
    code.setScale(2); // Resolution
    code.setThickness(30); // Thickness
    code.setForegroundColor(colorBlack); // Color of bars
    code.setBackgroundColor(colorWhite); // Color of spaces
    code.setFont(font); // Font
    code.parse('a123');

    // Drawing Part
    const drawing = new BCGDrawing(createSurface);
    toBuffer(drawing, BCGDrawing.ImageFormat.Png, function (err, buffer) {
        response.writeHead(200, { "Content-Type": "image/png" });
        response.end(buffer);
    });
}).listen(8124);

Explications des Méthodes

  • BCGcode128(start) — Spécifie par quelle table doit commencer le code-barres
    Description
    L'argument peut être A, B, C ou null. 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-barres
    Description
    L'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é
    Description
    Retourne si le comportement du caractère ~ est modifié.
    Voyez aussi setTilde() pour plus de détails.
    Retourne
    bool - true si activé, false autrement
  • setTilde(tilde) — Modifie le fonctionnement du caractère tilde ~
    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.
  • getThickness() — Retourne l'épaisseur du code-barres
    Description
    L'é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-barres
    Description
    L'épaisseur du code-barres est en pixel. Il s'agit de la grandeur verticale.
  • getLabel() — Retourne le texte qui accompagne le code-barres
    Description
    Retourne la vraie valeur qui serait affichée avec le code-barres. Vous devez avoir appelé la méthode parse() .
    Retourne
    string - valeur finale
  • setLabel(label) — Spécifie le texte qui accompagne le code-barres
    Description
    Le texte sera écrit au dessous ou au dessus du code-barres dépendamment de celui-ci. Vous pouvez écrire la valeur spéciale BCGBarcode1D.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
    Description
    Retourne la police du texte qui accompagne le code-barres.
    Retourne
  • setFont(font) — Spécifie la police du texte qui accompagne le code-barres
    Description
    La valeur de l'argument peut être soit une instance de la classe BCGFontFile.
  • getChecksum() — Retourne le chiffre de vérification ajouté au code-barres
    Description
    Retourne 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().
    Retourne
    int - chiffre de vérification ajouté ou false 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-barres
    Description
    Spécifier true 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 suite
    Description
    Les 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
    Description
    La valeur de l'argument image doit être une image ressource. La taille de l'image peut être définie avec la valeur reçue de getDimension().
  • getDimension(width, height) — 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.
    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.
    Retourne
    array(int, int) - [0] étant la largeur, [1] étant la hauteur
  • getScale() — Retourne la résolution du code-barres
    Description
    Retourne 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-barres
    Description
    Le code-barres sera x fois plus grand. Un pixel sera alors de taille x par x.
  • getForegroundColor() — Retourne la couleur des barres
    Description
    Retourne la couleur des barres du code-barres.
    Retourne
  • setForegroundColor(color) — Fixe la couleur des barres
    Description
    La couleur des barres du code-barres. 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.
  • getBackgroundColor() — Retourne la couleur des espaces
    Description
    Retourne la couleur des espaces du code-barres.
    Retourne
  • setBackgroundColor(color) — Fixe la couleur des espaces
    Description
    La couleur des espaces du code-barres. 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(foregroundColor, backgroundColor) — Fixe la couleur des barres et des espaces
    Description
    Une méthode plus rapide pour fixer la couleur de premier plan et de l'arrière-plan. Référez-vous à setForegroundColor() et setBackgroundColor().
  • getOffsetX() — Retourne le décalage en X
    Description
    Retourne 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 X
    Description
    Spé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
    Description
    Retourne 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 Y
    Description
    Spé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 dessin
    Description
    Ajoute un objet BCGLabel au dessin.
  • removeLabel(label) — Supprime un texte qui accompagne le dessin
    Description
    Supprime un objet BCGLabel spécifique du graphique.
  • clearLabels() — Supprime les textes qui accompagnent le dessin
    Description
    Supprime tous les objets BCGLabel du dessin.