IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Génération code barre EAN13


Sujet :

Langage PHP

  1. #1
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut Génération code barre EAN13
    Bonjour à tous

    mon soucis n'est pas vraiment au niveau programmation mais je suis dit que vous pourriez m'aider
    je voudrais générer un code barre (norme EAN13)
    voici la méthode de calcul http://fr.wikipedia.org/wiki/EAN_13
    or j'ai un problème avec le calcul de la clé
    sur wiki il est expliqué qu'à la fin nous devons faire 10 - (total % 10) = clé
    or j'ai un soucis quand mon "total" est multiple de 10 ...
    par exemple 10 - (120 % 10) = 10
    et du coup je n'ai pas une clé à 1 chiffre mais à 2 chiffres.

    Si vous en savez un peu plus je suis preneur

    je vous colle mon code si ça peut aider quelqu'un, c'est basic mais bon ...

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    function genereEAN13()
    {
    	$nombreDepart		=	'';
     
    	for ($i=1; $i<13; $i++)
    	{
    		$nombre =	($i == 1) ? mt_rand(1, 9) : mt_rand(0, 9);
    		$nombreDepart	.= $nombre;
    	}
     
    	$tab	=	str_split($nombreDepart);
     
    	$totalCoef	=	0;
    	for ($j=0; $j<12; $j++)
    	{
    		$coef		=	($j % 2 == 0) ? 1 : 3;
    	        $totalCoef	+=   $tab[$j] * $coef;
    	}
     
    	$cle	=	10 - ($totalCoef % 10);
     
    	return $nombreDepart.$cle;
    }
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    Il me semble que dans ce cas, la clé est simplement 0.

  3. #3
    Membre averti Avatar de mdr_cedrick
    Profil pro
    Développeur multimédia
    Inscrit en
    Janvier 2008
    Messages
    374
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Janvier 2008
    Messages : 374
    Points : 336
    Points
    336
    Par défaut
    c'est exactement ce que j'ai pensé aussi,
    j'ai d'ailleurs trouvé un code de génération en vb6 qui fait cela, cependant je n'ai trouvé aucune doc officielle avec cet exemple.
    Pour voir qu'il fait noir, on n'a pas besoin d'être une lumière

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Génération code-barres 2D : codage spatial
    Par enita dans le forum Images
    Réponses: 2
    Dernier message: 18/11/2011, 15h49
  2. Manque le premier chiffre lors de décodage d'un code barre EAN13
    Par JenniferBP2I dans le forum Discussions diverses
    Réponses: 3
    Dernier message: 27/08/2010, 15h31
  3. Génération code barre et impression
    Par riderfun dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 11/01/2010, 15h51
  4. Réponses: 2
    Dernier message: 27/05/2008, 17h21
  5. Composant Lecteur de code barre EAN13
    Par Speedfire dans le forum Bases de données
    Réponses: 1
    Dernier message: 27/09/2006, 08h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo