pitoo.com

SCRIPT PHP

Ce script permet d'afficher les codes suivants sur ses pages web :

  •  Code 128 (Set B et C)
  •  Code 25 standard et code 25 Entrelacé
  •  Code MSI
  •  Code 39
  •  Code 11
  •  Code KIX
  •  Code CMC7
  •  Code PostFix
  •  Cadabar
  •  Code UPC / EAN 8 et 13

plusieurs options de présentation sont disponibles.

exemples de personnalisations :

Suite à de nombreuses demandes d'internautes, j'ai remanié le script pour permettre la création d'un fichiers image du code à barres généré en plus de son simple affichage sur la page.
J'en ai profité pour remanier en profondeur le code de manière à optimiser l'utilisation de la classe pi_barcode.

v 2.8, v2.9 et v2.10 (08/12/2009) :

  •  Diverses corrections de bugs.

Nouveautés de la v2.7 (10/07/2008) :

  •  Code objet, toutes les méthodes de personnalisation du code à barres sont intégrées à la classe pi_barcode
  •  Possibilité d'enregistrer sur le serveur un fichier image du code généré
  •  Possibilité de créer une image plus large que le code à barres contenu (celui-ci est centré horizontalement dans l'image)
  •  Choix entre plusieurs formats de sortie : PNG, GIF ou JPG (le jpg n'étant pas recommandé car mal adapté à l'impression de codes à barres)
  •  Possibilité de modifier les couleurs du code à barres et du fond de l'image

La version 2.10 reste compatible avec les versions antérieures.

Note Importante :


// ******************************************************* ©2008 Pitoo.com *****
// *****                   CODES A BARRES - Php script                     *****
// *****************************************************************************
// *****              (c) 2002 - pitoo.com - mail@pitoo.com                *****
// *****************************************************************************
// *****************************************************************************
// ***** Ce script est "FREEWARE",  il  peut  etre  librement copie et reutilise
// ***** dans vos propres pages et applications.  Il peut egalement etre modifie
// ***** ou ameliore.
// ***** CEPENDANT :  par  respect  pour l'auteur,  avant d'utiliser,  recopier, 
// ***** modifier ce code vous vous engagez a :
// ***** - conserver intact l'entete de ce fichier ( les commentaires comportant
// *****   Le nom du script,  le copyright le nom de l'auteur et son e-mail,  ce
// *****   texte et l'historique des mises a jour ).
// ***** - conserver intact la  mention  'pitoo.com'  imprimee aleatoirement sur 
// *****   l'image du code genere dans environ 2% des cas.
// ***** - envoyer un  e-mail  a l'auteur  mail(a)pitoo.com  lui indiquant votre
// *****   intention d'utiliser le resultat de son travail.
// *****************************************************************************
// ***** Toute remarque, tout commentaire, tout rapport de bug, toute recompense
// ***** sont la bienvenue : mail(a)pitoo.com
// ***** faire un don sur PayPal : paypal(a)pitoo.com
// *****************************************************************************
// *****************************************************************************

Téléchargement :

download zip
pi_barcode.zip (12 kb)

pi_barcode utilise la bibliothèque graphique GD de php pour générer les images au format PNG et GIF.

Téléchargez le fichier pi_barcode.zip et décompressez-le à l'emplacement de votre choix dans votre site internet.

Utilisation :

A) mode 'a la volée',

Pour afficher un code dans votre page, insérez la ligne suivante pour chaque code à barres :

<IMG src="pi_barcode.php?type=EAN&code=123456789012">

ou avec tous les paramètres :

<IMG src="pi_barcode.php?type=C11&code=98765&height=80&width=400&readable=N&shotype=N&color=#323232&bgcolor=#eeaac6">

Description des paramètres :

Obligatoires :

  •  type : indique le type de code à barres que l'on souhaite afficher (voir tableau).
  •  code : selon le code valeur numérique ou alphanumérique du code à afficher (voir tableau).

Facultatifs :

  •  height : nombre / hauteur de l'image en pixels (mini = 15).
  •  width : nombre / largeur MINI de l'image en pixels (mini = 0).
  •  readable : N / n'affiche pas le code en toutes lettres (par defaut : affiché).
  •  showtype : N / cache le type du code (par defaut : affiché).
  •  color : #rrggbb / couleur des barres et du texte au format 'web' : (par défaut : #000000)
  •  bgcolor : #rrggbb / couleur du fond au format 'web' (par défaut : #FFFFFF) n'est modifiée que si 'color' l'est aussi.
  •  zoom : 1 à 5 / facteur d'agrandissement : (par défaut : 1)

 

dans la mesure du possible, ces exemples présentent une chaine de 7 caractères afin de vous permettre de comparer les encombrements

exemple d'image type & symboles autorisés

Code 128 jeu de caractères B C128
1 à 48 caractères.
[A..Z][a..z][0..9] plus ponctuation, en réalité tous les caractères de la table ASCII de 32 à 126.
<IMG src=pi_barcode.php?type=C128&code=1234567&height=80>

Code 128 jeu de caractères C C128C
2 à 48 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=C128C&code=1234567&height=80>

Code 2 parmi 5 C25
1 à 48 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=C25&code=1234567&height=80>

Code 2 parmi 5 Entrelacé C25I
2 à 48 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=C25I&code=1234567&height=80>

Code MSI MSI
1 à 48 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=MSI&code=1234567&height=80>

European Article Number EAN
8 ou 13 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=EAN&code=123456789012&height=80>

European Article Number EAN (exemple a 8 chiffres)
8 ou 13 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=EAN&code=1234567&height=80>

Universal Product Code UPC
12 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=UPC&code=12345678901&height=80>

Code 3 parmi 9 C39
1 à 48 caractères.
[A..Z][0..9] plus les caractères suivants : -.$/+[espace]
<IMG src=pi_barcode.php?type=C39&code=CODE-39&height=80>

Code 11 C11
1 à 48 caractères.
[0..9] plus le tiret -

il semble que ce codage présente encore un bug... si vous le trouvez, merci de m'en faire part !
<IMG src=pi_barcode.php?type=C11&code=123-456&height=80>

Code Codabar CODABAR
1 à 48 caractères.
[0..9] plus les caractères suivants : -$:/.+
caractères de bornage : ABC ou D
<IMG src=pi_barcode.php?type=CODABAR&code=A1234567B&height=80>

Code PostNet POSTNET
5, 9 ou 11 chiffres.
[0..9] chiffres uniquement
<IMG src=pi_barcode.php?type=POSTNET&code=80123>

Code CMC7 CMC7
1 à 48 caractères.
[0..9] chiffres et caractères spéciaux ABCDE.
<IMG src=pi_barcode.php?type=CMC7&code=0123ABC>

Code KIX KIX
1 à 50 caractères.
[A..Z][0..9] lettres et chiffres.
<IMG src=pi_barcode.php?type=KIX&code=ABC1234>

 

B) mode programmation / création de fichier :

Vous pouvez exploiter directement les méthodes de la classe pi_barcode, notamment pour créer des fichiers images de codes a barres.

Méthodes :

Méthode description

pi_barcode() initialise la classe à l'instanciation, peut être appelée pour réinitialiser le codeà barres.

setCode($code) Spécifie le code a générer
setType($type) Type de code à barres : EAN, UPC, C39...
setSize($h, $w=0, $cz=0) indique la taille de l'image à créer :
***** $h : Hauteur mini=15px
***** $w : Largeur MINIMUM de l'image
***** $cz : Zones Calmes (mini=10px) à gauche et à droite des barres
setText($text='AUTO') Texte sous les barres :
***** 'AUTO' : affiche la valeur du codes barres
***** '' : n'affiche pas de texte sous le code
***** 'chaine libre' : affiche un texte libre sous les barres
hideCodeType() Si elle est appelée, cette méthode désactive l'impression du Type de code (EAN, C128...)
setColors($fg, $bg=0) Couleurs des Barres et du Fond au format '#rrggbb'
setFiletype($ft) Type de fichier : GIF ou PNG (par défaut)

showBarcodeImage() envoie l'image au navigateur
writeBarcodeFile($file) envoie l'image dans un fichier

exemple :

<?php
	include('modules/barcode/pi_barcode.php');
	
	$objCode = new pi_barcode() ;
	
	$objCode->setSize(50);
	$objCode->hideCodeType();
	$objCode->setColors('#254433');
	
	$objCode -> setType('EAN') ;
	$objCode -> setCode('123456789012') ;
	
	$objCode -> writeBarcodeFile('code_EAN.png') ;
	
	$objCode -> setFiletype('GIF') ;
	$objCode -> writeBarcodeFile('code_EAN.gif') ;
	
	$objCode -> setFiletype('JPG') ;
	$objCode -> writeBarcodeFile('code_EAN.jpg') ;
?>
					

et voila le travail :

image PNG : image GIF : image JPG :
code barres code barres code barres

Testez le script avec le générateur de codes à barres !