Dans certains cas, il peut être nécessaire d'encoder dans un code-barre au format PDF-417 un fichier binaire. Par exemple pour ajouter un certificat à un document à imprimer.

 

Pour encoder du binaire dans le PDF417, il faut convertir le buffer d'entrée :

- indiquer au Code Barre que l'on utilise les caractères de contrôle

- commencer la séquence par <BC> pour passer en mode Binaire

- convertir les 0 binaire en <NUL>

- doubler les < et >

 

Voici le code d'une procédure qui réalise opération :

PROCÉDURE AffecteCBBinaire(sFicherAEncoder est une chaîne)

 

// On charge le contenu du fichier dans un buffer

bufContenuCB est un Buffer = fChargeBuffer(sFicherAEncoder)

 

// Affectation du contenu du Champ CODE_BARRE

nSigneInf est un entier sans signe sur 1 octets = Asc("<")

nSigneSup est un entier sans signe sur 1 octets = Asc(">")

 

// On va utiliser les caractère de controle

CODE_BARRES..Option+=CB_CaractèresContrôle

 

// initialise a <BC> pour indiquer que l'on va encoder du binaire

s est une chaîne ANSI = "<BC>"

 

// On parcours chaques octets pour traiter les cas particuliers.

POUR i=1 _À_ Taille(bufContenuCB)

nVal est un entier sans signe sur 1 octets = bufContenuCB[i]

SELON nVal

// On transforme le 0 binaire un un caractère spécial <NUL>

CAS 0: s+="<NUL>"

// Le symbol "<" doit être doublé sinon, il sera pris pour un caractère de controle

CAS nSigneInf: s+="<<"

// Le symbol ">" doit être doublé sinon, il sera pris pour un caractère de controle

CAS nSigneSup: s+=">>"

// les autres caractère sont ajouté directement

AUTRE CAS

s+=Caract(nVal)

FIN

FIN

 

// affecte le CB

CODE_BARRES = s

 

< Retour

Publier un commentaire : 
Votre adresse email ne sera pas publiée