begin process at 2010 03 21 11:08:51
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Chaîne de caratère

 > GÉNÉRATEUR DE CODE BARRE EAN13

GÉNÉRATEUR DE CODE BARRE EAN13


 Information sur la source

Note :
8,89 / 10 - par 9 personnes
8,89 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Chaîne de caratère Classé sous :codebarre, ean, ean13, générateur, code barre Niveau :Initié Date de création :27/05/2005 Date de mise à jour :11/01/2010 19:56:20 Vu :36 754

Auteur : fyav

Ecrire un message privé
Commentaire sur cette source (83)
Ajouter un commentaire et/ou une note

 Description

Cliquez pour voir la capture en taille normale
ce source n'est pas de moi, mais j'ai mis tellement de temps à le trouver que je vous en fait cadeau
ce script permet de générer des code barre EAN 13 en fabriquant chacune des barre, ça ne se base pas sur une police True Type (TTF)
Le site où je l'ai trouvée (NE FONCTIONNE PLUS): http://www.neokraft.net/articles/codes-barres-php/
voilà un autre site http://www.alaide.com/outils_generateur_ean13.php mais c'est du javascript

et en plus un site pour créer les images des codes barres (vient de GRenard : http://www.phpcs.com/codes/GENERATEUR-CODE-BARRE-B ARCODE_23927.aspx):
http://www.barcodephp.com/1d/ demo/html/ean13.php

j'ai créé aussi une source pour fabriquer un code barre code 39: http://www.phpcs.com/code.aspx?ID=31659

Source

  • <?php
  • // ce fichier s'appelle par exemple EAN13.php
  • // dans votre programme il suffit d'appeler l'image comme suit:
  • // <img src="EAN13.php?numero=3149025043092&dimension=5">
  • // et c'est tout
  • $form_numero='0123456789012'; //le code EAN13 à 13 chiffres
  • $form_dimension=4.5; // multiplicateur de la taille de l'image initiale (120 pixel x 70 pixel)
  • // ce qui donne avec la valeur de 4.5 une image en 300 dpi de 4.57 cm x 2.57 cm (540 pixel x 315 pixel)
  • import_request_variables("gP", "form_");
  • /* ***** BEGIN LICENSE BLOCK *****
  • * Version: MPL 1.1
  • *
  • * The contents of this file are subject to the Mozilla Public License Version
  • * 1.1 (the "License"); you may not use this file except in compliance with
  • * the License. You may obtain a copy of the License at
  • * http://www.mozilla.org/MPL/
  • *
  • * Software distributed under the License is distributed on an "AS IS" basis,
  • * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  • * for the specific language governing rights and limitations under the
  • * License.
  • *
  • * The Original Code is : Debora, un générateur de codes barre.
  • *
  • * The Initial Developer of the Original Code is
  • * Olivier Meunier.
  • * Portions created by the Initial Developer are Copyright (C) 2003
  • * the Initial Developer. All Rights Reserved.
  • *
  • * Contributor(s):
  • * Rémi Chéno (ajout des séparateurs gauche, centre et droite)
  • *
  • * ***** END LICENSE BLOCK ***** */
  • class debora
  • {
  • /**
  • * Déclaration des propriétés
  • */
  • var $arryGroup = array('A' => array(
  • 0 => "0001101", 1 => "0011001",
  • 2 => "0010011", 3 => "0111101",
  • 4 => "0100011", 5 => "0110001",
  • 6 => "0101111", 7 => "0111011",
  • 8 => "0110111", 9 => "0001011"
  • ),
  • 'B' => array(
  • 0 => "0100111", 1 => "0110011",
  • 2 => "0011011", 3 => "0100001",
  • 4 => "0011101", 5 => "0111001",
  • 6 => "0000101", 7 => "0010001",
  • 8 => "0001001", 9 => "0010111"
  • ),
  • 'C' => array(
  • 0 => "1110010", 1 => "1100110",
  • 2 => "1101100", 3 => "1000010",
  • 4 => "1011100", 5 => "1001110",
  • 6 => "1010000", 7 => "1000100",
  • 8 => "1001000", 9 => "1110100"
  • )
  • );
  • var $arryFamily = array(
  • 0 => array('A','A','A','A','A','A'),
  • 1 => array('A','A','B','A','B','B'),
  • 2 => array('A','A','B','B','A','B'),
  • 3 => array('A','A','B','B','B','A'),
  • 4 => array('A','B','A','A','B','B'),
  • 5 => array('A','B','B','A','A','B'),
  • 6 => array('A','B','B','B','A','A'),
  • 7 => array('A','B','A','B','A','B'),
  • 8 => array('A','B','A','B','B','A'),
  • 9 => array('A','B','B','A','B','A')
  • );
  • /**
  • * Constructeur
  • *
  • * Initialise la classe
  • *
  • * @EAN13 string code EAN13
  • *
  • * return void
  • */
  • function debora($EAN13)
  • {
  • settype($EAN13,'string');
  • //Transformation de la chaine EAN en tableau
  • for($i=0;$i<13;$i++)
  • {
  • $this->EAN13[$i] = substr($EAN13,$i,1);
  • }
  • $this->strCode = $this->makeCode();
  • }
  • /**
  • * Création du code binaire
  • *
  • * Crée une chaine contenant des 0 ou des 1 pour indiquer les espace blancs ou noir
  • *
  • * return string Chaine résultante
  • */
  • function makeCode()
  • {
  • //On récupère la classe de codage de la partie qauche
  • $arryLeftClass = $this->arryFamily[$this->EAN13[0]];
  • //Premier séparateur (101)
  • $strCode = '101';
  • //Codage partie gauche
  • for ($i=1; $i<7; $i++)
  • {
  • $strCode .= $this->arryGroup[$arryLeftClass[$i-1]][$this->EAN13[$i]];
  • }
  • //Séparateur central (01010)
  • $strCode .= '01010';
  • //Codage partie droite (tous de classe C)
  • for ($i=7; $i<13; $i++)
  • {
  • $strCode .= $this->arryGroup['C'][$this->EAN13[$i]];
  • }
  • //Dernier séparateur (101)
  • $strCode .= '101';
  • return $strCode;
  • }
  • /**
  • * Création de l'image
  • *
  • * Crée une image GIF ou PNG du code généré par giveCode
  • *
  • * return void
  • */
  • function makeImage($imageType="png")
  • {
  • global $form_dimension;
  • //Initialisation de l'image
  • //$img=imagecreate(120, 70);
  • $width=120;
  • $height=70;
  • $img=imagecreate($width, $height);
  • $color[0] = ImageColorAllocate($img, 255,255,255);
  • $color[1] = ImageColorAllocate($img, 0,0,0);
  • $coords[0] = 15;
  • $coords[1] = 10;
  • $coords[2] = 1;
  • $coords[3] = 40;
  • imagefilledrectangle($img, 0, 0, 95, 80, $color[0]);
  • for($i=0;$i<strlen($this->strCode);$i++)
  • {
  • $posX = $coords[0];
  • $posY = $coords[1];
  • $intL = $coords[2];
  • $intH = $coords[3];
  • $fill_color = substr($this->strCode,$i,1);
  • # Allongement des 3 bandes latérales et centrales
  • # sur une idée de Rémi Chéno
  • if ($i < 3 || ($i >= 46 && $i < 49) || $i >= 92) {
  • $intH = $intH + 8;
  • }
  • imagefilledrectangle($img, $posX, $posY, $posX, ($posY+$intH), $color[$fill_color]);
  • //Deplacement du pointeur
  • $coords[0] = $coords[0] + $coords[2];
  • }
  • # Affichage du code (Rémi Chéno)
  • imagestring($img, 3, 5, 50, $this->EAN13[0], $color[1]);
  • imagestring($img, 3, 19, 50, implode('', array_slice($this->EAN13,1, 6)), $color[1]);
  • imagestring($img, 3, 65, 50, implode('', array_slice($this->EAN13,7)), $color[1]);
  • // Calcul des nouvelles dimensions
  • $newwidth = $width* $form_dimension;
  • $newheight = $height * $form_dimension;
  • // Chargement
  • $thumb = imagecreatetruecolor($newwidth, $newheight);
  • // Redimensionnement
  • imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);
  • Header( "Content-type: image/".$imageType);
  • $func_name = 'image'.$imageType;
  • $func_name($thumb);
  • imagedestroy($img);
  • imagedestroy($thumb);
  • }
  • }//Fin de la classe
  • $ean13 = new debora($form_numero);
  • $ean13-> makeImage();
  • ?>
<?php
// ce fichier s'appelle par exemple EAN13.php
//    dans votre programme il suffit d'appeler l'image comme suit:
//    <img src="EAN13.php?numero=3149025043092&dimension=5">
//  et c'est tout


$form_numero='0123456789012'; //le code EAN13 à 13 chiffres
$form_dimension=4.5; // multiplicateur de la taille de l'image initiale (120 pixel x 70 pixel)
// ce qui donne avec la valeur de 4.5 une image en 300 dpi de 4.57 cm x 2.57 cm (540 pixel x 315 pixel)

import_request_variables("gP", "form_");


/* ***** BEGIN LICENSE BLOCK *****
* Version: MPL 1.1
*
* The contents of this file are subject to the Mozilla Public License Version
* 1.1 (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
* http://www.mozilla.org/MPL/
*
* Software distributed under the License is distributed on an "AS IS" basis,
* WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
* for the specific language governing rights and limitations under the
* License.
*
* The Original Code is : Debora, un générateur de codes barre.
*
* The Initial Developer of the Original Code is
* Olivier Meunier.
* Portions created by the Initial Developer are Copyright (C) 2003
* the Initial Developer. All Rights Reserved.
*
* Contributor(s):
* Rémi Chéno (ajout des séparateurs gauche, centre et droite)
*
* ***** END LICENSE BLOCK ***** */

class debora
{
  /**
  * Déclaration des propriétés
  */
  var $arryGroup = array('A' => array(
  0 => "0001101", 1 => "0011001",
  2 => "0010011",	3 => "0111101",
  4 => "0100011",	5 => "0110001",
  6 => "0101111",	7 => "0111011",
  8 => "0110111",	9 => "0001011"
  ),
  'B' => array(
  0 => "0100111",	1 => "0110011",
  2 => "0011011",	3 => "0100001",
  4 => "0011101",	5 => "0111001",
  6 => "0000101",	7 => "0010001",
  8 => "0001001",	9 => "0010111"
  ),
  'C' => array(
  0 => "1110010",	1 => "1100110",
  2 => "1101100",	3 => "1000010",
  4 => "1011100",	5 => "1001110",
  6 => "1010000",	7 => "1000100",
  8 => "1001000",	9 => "1110100"
  )
  );

  var $arryFamily = array(
  0 => array('A','A','A','A','A','A'),
  1 => array('A','A','B','A','B','B'),
  2 => array('A','A','B','B','A','B'),
  3 => array('A','A','B','B','B','A'),
  4 => array('A','B','A','A','B','B'),
  5 => array('A','B','B','A','A','B'),
  6 => array('A','B','B','B','A','A'),
  7 => array('A','B','A','B','A','B'),
  8 => array('A','B','A','B','B','A'),
  9 => array('A','B','B','A','B','A')
  );

  /**
  * Constructeur
  *
  * Initialise la classe
  *
  * @EAN13			string		code EAN13
  *
  * return			void
  */
  function debora($EAN13)
  {
    settype($EAN13,'string');

    //Transformation de la chaine EAN en tableau
    for($i=0;$i<13;$i++)
    {
      $this->EAN13[$i] = substr($EAN13,$i,1);
    }

    $this->strCode = $this->makeCode();
  }


  /**
  * Création du code binaire
  *
  * Crée une chaine contenant des 0 ou des 1 pour indiquer les espace blancs ou noir
  *
  * return			string		Chaine résultante
  */
  function makeCode()
  {
    //On récupère la classe de codage de la partie qauche
    $arryLeftClass = $this->arryFamily[$this->EAN13[0]];

    //Premier séparateur (101)
    $strCode = '101';

    //Codage partie gauche
    for ($i=1; $i<7; $i++)
    {
      $strCode .= $this->arryGroup[$arryLeftClass[$i-1]][$this->EAN13[$i]];
    }

    //Séparateur central (01010)
    $strCode .= '01010';

    //Codage partie droite (tous de classe C)
    for ($i=7; $i<13; $i++)
    {
      $strCode .= $this->arryGroup['C'][$this->EAN13[$i]];
    }

    //Dernier séparateur (101)
    $strCode .= '101';

    return $strCode;
  }


  /**
  * Création de l'image
  *
  * Crée une image GIF ou PNG du code généré par giveCode
  *
  * return			void
  */
  function makeImage($imageType="png")
  {
  global $form_dimension;
    //Initialisation de l'image
    //$img=imagecreate(120, 70);

    $width=120;
    $height=70;
    $img=imagecreate($width, $height);

    $color[0] = ImageColorAllocate($img, 255,255,255);
    $color[1] = ImageColorAllocate($img, 0,0,0);

    $coords[0] = 15;
    $coords[1] = 10;
    $coords[2] = 1;
    $coords[3] = 40;

    imagefilledrectangle($img, 0, 0, 95, 80, $color[0]);

    for($i=0;$i<strlen($this->strCode);$i++)
    {
      $posX = $coords[0];
      $posY = $coords[1];
      $intL = $coords[2];
      $intH = $coords[3];

      $fill_color = substr($this->strCode,$i,1);

      # Allongement des 3 bandes latérales et centrales
      # sur une idée de Rémi Chéno
      if ($i < 3 || ($i >= 46 && $i < 49) || $i >= 92) {
        $intH = $intH + 8;
      }

      imagefilledrectangle($img, $posX, $posY, $posX, ($posY+$intH), $color[$fill_color]);

      //Deplacement du pointeur
      $coords[0] = $coords[0] + $coords[2];
    }

    # Affichage du code (Rémi Chéno)
    imagestring($img, 3, 5, 50, $this->EAN13[0], $color[1]);
    imagestring($img, 3, 19, 50, implode('', array_slice($this->EAN13,1, 6)), $color[1]);
    imagestring($img, 3, 65, 50, implode('', array_slice($this->EAN13,7)), $color[1]);

    // Calcul des nouvelles dimensions
    $newwidth = $width* $form_dimension;
    $newheight = $height * $form_dimension;

    // Chargement
    $thumb = imagecreatetruecolor($newwidth, $newheight);

    // Redimensionnement
    imagecopyresized($thumb, $img, 0, 0, 0, 0, $newwidth, $newheight, $width, $height);

    Header( "Content-type: image/".$imageType);

    $func_name = 'image'.$imageType;

    $func_name($thumb);
    imagedestroy($img);
    imagedestroy($thumb);
  }


}//Fin de la classe
$ean13 = new debora($form_numero);
$ean13-> makeImage();

?>

 Conclusion

Si vous avez des améliorations ou des commentaire et même des critiques, tout est bienvenue


 Historique

06 décembre 2007 12:42:57 :
le site de neokraft ne fonctionne plus j'en ai trouvé un autre mais en javascript où il est difficile de copier l'image ! dès que j'ai le temps je le mettrait sur mon site
09 janvier 2008 13:04:16 :
ajout d'une adresse de site qui permet de créer les images des codes barre pour ceux qui ne veulent pas programmer !
09 janvier 2008 13:06:58 :
j'avais oublié de préciser où j'avais trouvé ce lien...
09 janvier 2008 16:56:49 :
la source a été modifiée avec : - explications d'utilisation - possibilitée de redimmensionner l'image pour pouvoir l'imprimer en 300 dpi (imprimerie)
09 janvier 2008 16:59:12 :
source modifiée : - ajout d'explications claires - ajout redimensionnement de l'image pour pouvoir l'imprimer à 300 dpi
09 janvier 2008 17:00:29 :
modification de la capture
11 janvier 2010 19:56:20 :
dans la description changement d'un lien mort: original : http://other.lookstrike.com/barcode/1d/demo/html/ean13.php en http://www.barcodephp.com/1d/demo/html/ean13.php (merci à GRenard de m'avoir avertit)

 Sources du même auteur

TRANSFORMER DU TEXTE OU DE L'HTML EN TEXTE CONFORME À LA NOR...
Source avec une capture GÉNÉRATEUR DE CODE BARRE CODE 39
TRANSFORMER UNE IP DYNAMIQUE EN IP FIXE EN ÉTANT DERRIÈRE UN...

 Sources de la même categorie

Source avec Zip GÉNÉRATEUR DE BALISE META KEYWORDS par ParseError
Source avec Zip Source avec une capture RACCOURCISSEUR D'URL par hairai
Source avec Zip GÉNÉRER UN MOT DE PASS ALÉATOIRE par narkos2
UNICODE TO HTML ENTITIES par CrazyShooter
Source avec Zip DÉBUTANT : FONCTION POUR TRANSFORMER UN TEMPS EN SECONDES EN... par MonkeyIsBack

 Sources en rapport avec celle ci

Source avec Zip GÉNÉRATEUR DE MOTS CLÉS (TAGS) À PARTIR DE FICHIER HTML OU B... par Galip
GÉNÉRATEUR HTML DE MAP POUR IMAGE CLIQUABLE par 8Tnerolf8
FONCTIONS DE CONTRÔLES : SIRET, SIREN, EAN-13 par CrocoRICo
Source avec Zip Source avec une capture GÉNÉRATEUR DE FORMULAIRE [AJAX][PHP5] par Morphinof
GÉNÉRATEUR SQL D'INSERTION OU DE MISE À JOUR par 8Tnerolf8

Commentaires et avis

Commentaire de Anthomicro le 28/05/2005 08:35:11

Salut,

idem que pour l'autre source, 9/10 c'est pas mal ;-)

Commentaire de GRenard le 28/05/2005 20:40:33

Ton tableau C est le même que le A mais inversé (1 en 0) et le B c'est l'inverse de gauche à droite et les 1 en 0...
Alors normalement tu n'est pas vraiment obliger de faire alors 3 tableaux.
En passant, tu les as testé tes codes avec un lecteur ?

Générateur de codes barres :
http://www.phpcs.com/code.aspx?ID=23927

Commentaire de fyav le 29/05/2005 01:04:17

"en passant, tu les as testé tes codes avec un lecteur ?"

oui, comme pour le code 39,: dans une pharmacie !!!!
et ça fonctionne à la perfection

Commentaire de INFODIG le 11/10/2005 14:59:14

je vais peut-etre passer pour un nul mais j'ai cette erreur

Fatal error: Call to undefined function: imagecreate() in c:\program files\easyphp1-7\www\materiels\class.debora.php on line 138

qqu peut m'aider mailto: infocomut.free.fr merki!!

Commentaire de GRenard le 11/10/2005 17:07:51

Tu dois activer GD2.

Commentaire de INFODIG le 11/10/2005 17:11:20

koi ca GD2

Commentaire de Anthomicro le 11/10/2005 17:29:19

si t'as easyphp, clic droit, extensions php, tu coches "GD2"

Commentaire de Salve le 10/11/2005 11:36:51

Salut,
   je suis en train de travailler sur le code EAN13 et j'utilise la classe Debora que je dérive à ma façon. Mais attention elle ne fait qu'imprimer le code que l'on lui passe si l'on veut générer son propre code ne pas oublier que le dernier chiffre à droite c'est le checksum il est donc calculé. un chiffre bidon du style 55555 sera imprimé par la classe mais pas reconnu par la douchette.
Voilà c'était pour info (je me suis fait moi-même avoir ;)) )
  Sinon concernant la classe Debora elle est trés bien.

Commentaire de rafarel le 28/01/2007 19:05:11

Bonjour, est ce que quelqu'un pourrais m'expliquer comment générer une image avec ce code d'apres un ean13?
J'ai bien entendu activer gd2 sous easy php.
mais je ne sais pas comment utilisé cette fonction, je ne travaille jamais avec les classes.
Merci de votre aide

Commentaire de fyav le 29/01/2007 00:14:17

si tu n'est pas habitué aux classes, tu vires :

class debora
{

et le "}" à la fin

et tu ajoutes à la fin :

debora("7313467106011"); //remplace par le code EAN13 de ton choix
makeCode();
makeImage("png"); //pour créer une image de type PNG de ton EAN13

et le résultat sera une image avec ton code EAN13

Commentaire de rafarel le 29/01/2007 10:56:25

Bonjour, merci pour ta réponse FYAV.
Entre temps j'ai fais comme ceci:

$ean13 = new debora("7313467106011");
$ean13-> makeImage();

Par contre j'ai deux autres questions:
Est ce que je peut enregistrer le fichier png générer sans forcement l'afficher?
Mon code EAN est composé de 12 chiffres, je sais que le 13eme est un checkdigit, est ce que vous auriez une fonction php pour obtenir le checkdigit a partir d'une série de 12 chiffres?

J'ai trouvé ca en javascript que j'ai adapté en php mais ca ne fonctionne pas... :/

// -----------------calcul du CheckDigit d'un EAN13  (MON ADAPTATION PHP)
function ccd13($code)
{
  $facteur = 3;
  $somme = 0;
  
  // prendre les 12 premiers caractères du code pour calculer le CD
  $code = substr ($code, 0 , 12 );
  

  for ($i = strlen($code); $i > 0; --$i) {
    $somme = $somme + substr ($code, $i-1, $i) * $facteur;
    $facteur = 4 - $facteur;
      }

   // le CD est rajouté au code
   $code += ((1000 - $somme) % 10);
  

    return ( $code ) ;

}

///////////////////////////////////////////////
// -----------------calcul du CheckDigit d'un EAN13  (SOURCE JAVASCRIPT QUE JAI TROUVÉ)
function ccd13($code)
{
  facteur = 3;
  somme = 0;
  
  // prendre les 12 premiers caractères du code pour calculer le CD
  $code = $code.substring ( 0 , 12 );
  

  for (i = $code.length; i > 0; --i) {
    somme = somme + $code.substring (i-1, i) * facteur;
    facteur = 4 - facteur;
      }

   // le CD est rajouté au code
   $code += ((1000 - somme) % 10);
  

    return ( $code ) ;

}

Merci encore

Commentaire de rafarel le 29/01/2007 11:11:40

Coucou c'est encore moi !
Finalement j'ai trouvé une fonction qui marche bien pour le Check Digit à cet adresse :
http://www.koders.com/php/fid042021EAD689DAC3BB5065A3DAEFD0ABF96FF779.aspx
C'est une fonction perdue au beau milieu d'une page de code cela vous interessera surement, je ne sais pas a quoi sert l'integralité du code.
Reste encore la qustion pour enregister les images.
Merci.

Commentaire de fyav le 29/01/2007 11:46:54

remplace :
function makeImage($imageType="png")
par :
  function makeImage($imageType="png", $filename)

et remplace :
  $func_name($img);
par :
  $func_name($img,$filename);

où $filename est le nom du fichier (avec le chemin complet)

pourrais-tu poster la fonction que tu as trouvée, ça en interressera surement d'autres,

Merci

Commentaire de rafarel le 29/01/2007 13:19:52

Merci pour ton aide !
Voici la fonction qui renvoie le code barre($barcode à 12 chiffre) avec le check digit ($r le 13eme chiffre):

function GetCheckDigit($barcode){
//Calcule le chiffre de controle
$sum=0;
for($i=1;$i<=11;$i+=2)
$sum+=3*$barcode{$i};
for($i=0;$i<=10;$i+=2)
$sum+=$barcode{$i};
$r=$sum%10;
if($r>0)
$r=10-$r;
return $barcode.$r;
}

J'ai trouvé cette fonction ici elle fait partie d'un autre code pour les code barre il y a certainement d'autre fonctions interessantes!
http://www.koders.com/php/fid042021EAD689DAC3BB5065A3DAEFD0ABF96FF779.aspx

Merci

Commentaire de Alpha911 le 15/03/2007 23:31:30

Bonjour,
Je n'arrive pas a afficher quoi que ce soit quand je fait appel à la page ou j'ai copié collé le code j'arrive sur une page blanche. Comment faire ? (librarie GD2 activé) easy php 1.6.0.0

Commentaire de Ashitaka99 le 02/04/2007 14:29:04

Bonjour.

J'ai finalisé mon programme de facturation avec Base de donnée. Le seul "hic" est que je ne vais pas programmer moi-même l'affichage des codes barres :P

J'ai donc décidé d'utiliser cette class Débora, qui a l'air de fonctionner parfaitement .... Sur une page vierge ^^ Lorsque je la fait fonction avec le reste de mon code, elle m'affiche un charabia (même pas une erreur) incompréhensible.

[Charabia : ‰PNG  IHDRxF=ÚÂLPLTEÿÿÿUÂÓ~œIDATxœc`ì€1nv’¨´iÉD§²3WFù£üæ;€R%+8mŠ`òúËÕUHµ©øüù0H^2rsÂË£igg³¥ƒø†Ž›kTùÍϲÁ|æ´7ަU~6HñûØÎÎ8jwv†áaÛÙGbÆÌ þÉ ig$Í3cÙy€ßÞ¦BúƒMÅÇçïP!¿Q« ¹$ ¦IEND®B`‚]

J'avoue n'avoir jamais utilisé de class PHP, et peut etre que je l'utilise inadéquatement :(

Pourriez-vous me donnez une solution ou un petit tuto pour l'utiliser idéalement ?

Commentaire de fyav le 02/04/2007 14:52:40

c'est tout à fait normal, dans ton programme de facturation, il ne faut pas inclure cette class :
  - il faut créer un prog php avec en paramètre le numéro, ce prog permettra d'afficher le code barre
  - dans ton programme de facturation tu affiche une image qui appel le prog php ...
ex dans programme de facturation :
<img src="codebarre.phph?numero=7313467106011">

Commentaire de Ashitaka99 le 02/04/2007 18:16:30

Yes sa gere. Maintenant que tu me le dis, sa me parait normal ^^ Jespere que sa marchera :P

Merci bien ;)

Commentaire de kowalska le 29/05/2007 11:28:13

Bonjour,

j'ai un petit soucis d'affichage! j'ai toujours une page blanche. Pourriez vous m'indiquer la démarche a suivre svp ! Merci.

Commentaire de fyav le 29/05/2007 22:29:20

comment tu fais ? explique merci.

Commentaire de kowalska le 30/05/2007 11:54:07

bonjour, j'utilise depuis ce matin cette classe qui est superbe! je reviens de chez un commercant pour pouvoir test le code barre et ca marche.
Par contre, je ne peux pas faire echo $var; apres car il m'affiche un code louche comme  Ashitaka99.

En faite, le code barre est généré par rapport a l'id d'un client dans ma base de donne puis une génération de 13 chiffre apres l'id.
ensuite je fais un substr pour gardé les 13 premiere valeur tout en gardant l'id du client en debut de chaine.

voila si vous pouviez me dire comment faire.
Merci d'avance.

Commentaire de kowalska le 30/05/2007 12:19:28

c'est bon j'ai trouvé merci. Comme d'hab je fait mon boulet lol. En vous remerciant.

Commentaire de fyav le 30/05/2007 12:20:17

le code EAN13 a des caractères de contrôle et donc ne peux pas être utilisé n'importe comment !!!
je te conseil de faire tes codes barre en code39 qui est beaucoup plus souple
(nbre de caractère non limité, pas de caractère de contrôle, etc... )
http://www.phpcs.com/code.aspx?ID=31659

Commentaire de kowalska le 30/05/2007 13:17:54

Merci du conseil mais je suis obliger de faire du code EAn13 (obligé).
Mais c'est bon j'ai fait certaine modification et ca marche correctement maintenant.
Je te remercie pour ton code.

Commentaire de exeforever le 12/09/2007 17:16:51

j'essaie de modifier le code pour que makeImage puisse prendre également en paramètre la longueur et la hauteur de l'image. Seulement le souci est que la génération de l'image dépend d'autres parametres telle que la largeur de la barre ou l'espace entre les deux barres. Est-ce que vous auriez une idée ? sinon on peut toujours faire un resize de l'image apres génération du code barre, mais le probleme est qu'on perd en qualité, et le code barre ne sera pas forcément reconnu par les douchettes en magasin...

Commentaire de fyav le 13/09/2007 00:01:03

essaye de faire 1 code barre avec le programme actuel,
ensuite tu peux essayer de diminuer la largeur de l'image ainsi créée avec un logiciel,
ensuite tu imprime et tu test la lecture avec un lecteur
(la hauteur n'est pas un critère important, sauf pour des lecteurs peux précis)

bons tests....

Commentaire de santiago69 le 23/12/2007 11:15:35 10/10

Salut a tous,
J'ai un peu le meme probleme qu'Ashitaka99. Sauf que je ne comprend pas bien la reponse. Je suis encore un peu debutant en php. Donc voila ce que j'ai fait :
- copie/colle le script dans un fichier 'ean13.php'
- dans ma page 'index.php' j'ai ecrit
  <?php
    $ean13 = new debora('3149025043092');
    $ean13->makeImage()
  ?>

Non seulement j'ai du charabia, mais en plus il m'envoit l'erreur suivante :
Warning: Cannot modify header information - headers already sent by (output started at f:\mydocs\lab\[html]\index.php:42) in f:\mydocs\lab\[html]\scripts\ean13.php on line 142

Voila si quelqu'un a une idee pour resoudre le probleme...
Merci d'avance
Santiago

Et bien sur je donne un 10/10 au code de fyav.

Commentaire de fyav le 23/12/2007 11:38:36

normal : dan ton fichier ean13.php tu doit mettre (pas dans index.php)

au tout début:
  import_request_variables("gP", "form_");

et après ta classe :
  $ean13 = new debora($form_numero);
  $ean13->makeImage()

et dans ton fichier index.php tu met:
  <img src="ean13.phph?numero=3149025043092">

le principe est simple tu appel ton programme ean13.php qui va te renvoyer une image correspondante au numéro demandé

Commentaire de jpescarres le 09/01/2008 12:49:55 10/10

Bonjour à tous,

tout d'abord félicitation pour ce code, c'est vraiment excellent!

J'aurais une question car j'aurais besoin d'imprimer des codebares ean13 mais j'aurais voulu les imprimer en 300 dpi.
Y-at-il moyen à partir de votre code de "grossir" le codebar obtenu (pour ensuite le repasser en 300dpi sous un logiciel tel que photoshop)?

Merci d'avance

Commentaire de kowalska le 09/01/2008 13:09:09

Salut oui tu peux l'agrandir. je me rapel pas comment car ca fait un moment que j'ai utilisé ce code. mais pour le passer en 300 dpi je sais pas si c'est necessaire. et je pense pas qu'on puisse le faire. pour agrandir regarde dans la fonction makeImage();

Commentaire de jpescarres le 09/01/2008 14:09:38

Disons que j'ai déjà fouillé dans le code, les seuls parametres que j'ai trouvé sont ceux ci :

$coords[0] = 15; ////// DECALLAGE GAUCHE
$coords[1] = 10; ////// DECALLAGE HAUT
$coords[2] = 1; ////// ESPACE ENTRE LES BARRES?
$coords[3] = 40; ////// HAUTEUR DES BARRES

En gros pour expliquer le contexte je dois generer des codes bars pour l'impression d'un catalogue.
Avec ce code je peux trés simplement generer des images que je place dans un repertoire.
Par contre ces images ont une résolution ecran et non pas pour l'impression. Le rendu est donc relativement dégueulasse si on laisse les image à la taille actuelle.
C'est pourquoi il faudrait que je puisse agrandir ces code bars.

Commentaire de fyav le 09/01/2008 14:39:44

en fait pour agrandir l'image tu doit reprendre toute la programmation de la fonction "makeImage".

il ne suffit pas de multiplier !
il faut faire en sorte de garder le principe des largeurs des barres et des espaces

Commentaire de jpescarres le 09/01/2008 15:18:38

C'est bien ce que je pensais...
Avant de me lancer la dedans, je préférais demander s'il n'y avait pas + simple.
Merci pour vos réponses!

Commentaire de fyav le 09/01/2008 15:40:52

je suis en pleine réflexion
j'ai pour l'instant réussi à redimmensionner le code barre mais pas les chiffres...
je pense toucher au but

Commentaire de pgu83 le 21/02/2008 11:25:34

Bonjour,
Je voudrais utiliser ce script pour imprimer le code dans un document pdf(facture) téléchargé en ligne par les clients.
Je ne vois pas bien comment intégrer le <img src="EAN13.php?numero=3149025043092&dimension=5">
dans la génération de monfichier pdf

Commentaire de fyav le 21/02/2008 12:38:32

je n'ai jamais essayé de faire des pdf en php et d'y intégrer des images,
mais dans ton code où tu doit mettre l'image tu met comme lien vers l'image :
'www.tonsite.com/EAN13.php?numero=3149025043092&dimension=5&f=image.jpg'

Commentaire de pgu83 le 22/02/2008 09:22:01

<mais dans ton code où tu doit mettre l'image tu met comme lien vers l'image :
'www.tonsite.com/EAN13.php?numero=3149025043092&dimension=5&f=image.jpg'
>
C'est ce que j'ai fait mais pour l'instant ça ne marche pas.
J'ai une erreur :
FPDF error: Missing or incorrect image file: ean13.php?numero=0123456789012&dimension=5&f=image.jpg

Commentaire de fyav le 22/02/2008 09:36:10

alors essaye d'abord de lancer le lien dans ton navigateur, copier l'image obtenue dans un dossier et essayer d'intégrer l'image dans ton pdf, comme ça tu verras si ça vient du pdf ou de l'image !

Commentaire de pgu83 le 22/02/2008 11:31:22

C'est ce que j'ai essayé de faire mais le résultat du lien n'est pas une image mais ça :
?PNG  IHDRX^Öµö ÂIDATx½íÝA´>0@Ѧ¨û_Tn«,P©1þ{»Ñ´Á$f¾-óÙ¶íTý¾{p'! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤´¾»0ÝçóùûÇmÛþý·û/õåÐÿÆ]£Ú7ïÝ?С-:t,#ÿxßÈd~÷'Íä¼a²È~¹¬N½Þóþ¸]Æ!iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤ !iB@¨&"¤}¶m»{ s}>¾¿ü:ßýßÂõÌX¸å3Ö!iB@¨&"¤ !iB@¨&"¤ !i?ó^úkCCÖÜ}àËþ ^v #øì3zÁF^yä¸#Ö¼ÍØwè?Ü&"¤ !iB@ÚT±#¯|â_.ߺ5¯Á}/~üûÜ&"¤ !iB@ÚÄÅ2½eÞóó'õ-÷»q<Âe§ÿ^WYsùÏ!.îHBÒ"¤4! íÌÅ2k>¼}Äv!#ÃxÄ? ó\vFwíþ3ï@#ÌØÿfÆ.È!iB@¨&"¤}îÚãcß"ÏWÙÒeßÈ#ñË>£yºë3zÄô^sñ{ÙñçkîHBÒ"¤4! mâbX¾;BÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHBÒ"¤4! MHûÕÿ"íf°.+IEND®B`,

Pour info je travaille sous linux

Commentaire de fyav le 22/02/2008 11:35:31

attention le code fourni une image PNG pas JPEG !

Commentaire de pgu83 le 22/02/2008 11:58:14

J'ai mis le lien sans préciser jpg ou png :
http://www.monsite.com/ean13.php?numero=3149025043092&dimension=5

Commentaire de fyav le 22/02/2008 12:21:04

à mon avis tu as un truc qui ne fonctionne pas dans le script ou dans ton serveur, ...

Commentaire de pgu83 le 22/02/2008 14:54:43

J'ai vérifié que la gd2 est bien activé sur mon serveur.

Je pense que c'est la façon dont j'utilise le script qui ne va pas. voilà ce que j'ai fait :

La classe ean13.php est dans mon répertoire : includes/classes

J'ai créé pour tester un script php ean.php avec :
<?php
require('includes/classes/ean13.php');
  $debora = new debora($HTTP_GET_VARS['EAN13']);
  ?>

J'ai créé un fichier html avec:
<body>
<p>Code ean13 :</p>
<p><img src="ean.php?numero=7313467106011">
</p></body>

Quand j'appel mon fichier htm j'ai la représentation d'une image absente.
Quand j'appel le scripte php j'obtiens toujours le même charabia à l'exécution.

Commentaire de fyav le 22/02/2008 16:04:35

essaye :
tu vires au début:

class debora
{

et à la fin

}//Fin de la classe
$ean13 = new debora($form_numero);
$ean13-> makeImage();


et tu ajoutes à la fin :

debora("7313467106011"); //remplace par le code EAN13 de ton choix
makeCode();
makeImage("png"); //pour créer une image de type PNG de ton EAN13

Commentaire de pgu83 le 22/02/2008 17:19:47

dans ce cas mon script php qui appel la classe n'est plus utile.
c'est mon ean13.htm qui appel directement le ean13.php avec les modifications que tu viens d'indiquer. J'utilise le script comme fonction plutôt que comme classe si je comprends bien.
j'ai essayé mais ça ne marche toujours pas.
maintenant quand j'exécute mon ean13.php j'ai une page blanche.
La fonction ne génère rien. Le code source généré est vide entre les balises<body>

Commentaire de fyav le 22/02/2008 18:02:11

pour ma part, le script recopié à l'identique (fichier nomé EAN13.php),
lorsque j'appel EAN13.php?numero=0123456789012
sur mon navigateur l'image apparait et dans le code source html voici le résultat :

?PNG

???
IHDR????;???ÝÏ8??@IDATx½íÝÑ´>0??ÁRõÿT¾F'Yf ?μE×pàs´²íûþ ?
¿ïÞ?ÞCT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q óçîÈlÛöùrß÷'odâ]ã?¿ÿìÀß{°ófÇõÃù¾û]sÇ5npF%óðÓÜ´IæáÁ»ä½¹-½¾lãïºtÎç3êjÎT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2Û¾ïwïCcÛ¶Ï-¾Çuð#~`²ñ5>lÎT?È^
?Q #*?dD¤¼¨??2¢@æO¾Å÷ã
Zä¶O2··WÌ"#?8ns{{àà@ÖT97ò¥Ûÿæßëqóõ9S #*?dD¤¼¨? êçVº~¼ëóåkVùRêùÁFéÄÆ#ÿÍõçq-´ü½«?÷Ñ"í>¯g}ÌÇT
?Q #*?dú>¾eî"ò"Þ´ø4·ñ|¹-ß'÷¾{ôÇüq½©??2¢@FT?È|u¡~Á5±«-=¿¹¬z×fcÇïb;¿KÉ>f{ø¸%ñfõç×ò¨Ï?^ܾÉT
?Q #*?d®]SqÏÑü2÷ÜêHþ¼¿A7^?^ðÉP_úXÃf¹qõgyn¦.â5«Y㽩??2¢@FT?È\»Pÿ¦Õ§óÞôèÙõH¹Ôù{fóßµ^7}Ìç8S #*?dD¤Ì{¾ùñàzå¨ßx~¯®¾z;·'ÁËè¾ô½L¶gÀ³ööËîºMxÍ'w¦@FT?È^
?Q ³åK=k~5Û¿ä7ñ]ýÕñoE<¿Á9ç¾.;îÒ[ð®¸"wý'´ù·gÎm?ßø>>æës¦@FT?È^
?T~M¤ÿ-3?2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨??2¢@FT?È^
?Q #*?dD¤¼¨?ù »g'~_ϼ????IEND®B`,

Commentaire de pgu83 le 26/02/2008 10:07:13

Bonjour,
Le script ean13.php fonctionne sur mon serveur de dev mais pas en prod.
Sur les 2 gd est activé. Normalement les 2 serveurs sont configurés pareil, mais manifestement ce n'est pas le cas. En dehors de la gd y at-il autre chose à activer côté serveur (systeme Linux).

Commentaire de pgu83 le 26/02/2008 15:43:44

Ca y est mon url EAN13.php?numero=0123456789012 génère une image ^sur le bon serveur, ma question est maintenant de l'utiliser dans mon pdf. L'idéal je pense serait de transformer mon url EAN13.php?numero=0123456789012 en ean13.png par exemple. Quelqu'un a une idée ?
Je sens que j'approche du but

Commentaire de fyav le 29/02/2008 00:00:34

1/ qu'est-ce que tu as changé sur ton serveur de prod pour que ça fonctionne ?

2/ pour ton url met à la fin : EAN13.php?numero=0123456789012&result=ean13.png mais je ne vois pas pourquoi quand tu donne l'url simple comme image, ça ne le ferai pas !

Commentaire de pgu83 le 29/02/2008 10:23:08

Je n'ai rien fait ! J'ai fait une pause pour aller manger et au retour ça marchait ! L'hébergeur n'a parait-il rien fait ... Mystère, c'est tombé en marche.

J'utilise l'image sur une facture au format pdf et on ne peut pas utiliser une URL dans la fonction définissant une image.

Je vais essayer d'utiliser ean13.php comme une fonction pour créer un fichier image et stocker ces images dans un répertoire. Je vais avoir besoin des codes ean pour 2 utilisations au moins, autant, je pense, les créer qu'une fois.

Commentaire de denisdechavagnes le 26/05/2008 17:06:39

Bonjour,


Excusez par avance mon ignorance mais je ne suis pas développeur.
J'essaie juste de comprendre pour utiliser au mieux.

Je vous ai bien suivi jusqu'à l'affichage du code barre.
Mais je n'arrive pas à modifier le code pour faire stocker l'image créée dans un répertoire .

remplace :
function makeImage($imageType="png")
par :
  function makeImage($imageType="png", $filename) FAIT !

et remplace :
  $func_name($img); ? ???? je ne trouve pas ce code dans le script ci dessus
par :
  $func_name($img,$filename); ? ???? je ne trouve pas ce code dans le script ci dessus

où $filename est le nom du fichier (avec le chemin complet)
???? Où lui indiquer ce $filename ? quel chemin complet http://  ou C:... ?

en fait je voudrais créer des images de codes barres à la volée pour les intégrer dans un suivi magasin.

merci pour votre aide

Commentaire de fyav le 26/05/2008 18:54:56

en fait si ton fichier php s'appel EAN13.php il faut mettre dans une page html :
<img src="EAN13.php?numero=3149025043092&dimension=5">
où "numero" est le numéro du code EAN13 et "dimension" est la ....

Commentaire de liptoon le 13/07/2009 14:54:07

Bonjour a tous !
Quand j'essaie de faire fonctionner ce script (ou d'autres similaires afin de générer un code barre) je me retrouve avec ce message d'erreur :

Warning: Unknown: failed to open stream: No such file or directory in Unknown on line 0

Fatal error: Unknown: Failed opening required 'C:/Program Files/EasyPHP 3.0/www/Carte fidélité/test.php' (include_path='.;C:\PROGRA~1\EASYPH~1.0\\php\includes') in Unknown on line 0

J'utilise Easyphp 2 (et même avec la version) et rien de va.. :(:(:(

Dans l'attente d'une réponse de votre part...



Commentaire de fyav le 13/07/2009 15:54:51

as-tu fait exactement comme c'est décrit ? parce qu'il n'y a pas d'include dans le script !!!

Commentaire de liptoon le 13/07/2009 16:06:42

j'ai fait un copier coller du code et créer un fichier html contenant le code ci-dessous :
<img src="EAN13.php?numero=3149025043092&dimension=5">

et je me retrouve avec une croix rouge a la place du code barre..

:(:(:(

Commentaire de fyav le 13/07/2009 16:55:01

le seul détail c'est que tu doit mettre le fichier php créé (par copier coller) dans le même dossier que ton fichier html et le nommer EAN13.php !

Commentaire de liptoon le 13/07/2009 17:00:34

c'est se qui est fait !
je ne comprend pas pourquoi ca ne marche pas ! quelles sont exactement les extensions a activé sur easyphp en plus de la gd ?
car je ne vois que cela comme solution.

Commentaire de fyav le 13/07/2009 17:21:57

alors qu'est-ce que cet appel au fichier test.php ? (required test.php)

Commentaire de liptoon le 13/07/2009 17:26:46

MDR.. le code plantait a cause du nom de mon répertoire qui contenait des "é".. tout fonctionne apparemment. Merci de ton aide.

Commentaire de fyav le 13/07/2009 17:51:07

toujours se souvenir: noms de fichier : majuscules ou minuscules sans accent et pas d'espace !
heureux de t'avoir aidé

Commentaire de jbloubert le 14/10/2009 22:08:41

Bonjour,

Pourquoi ce code ne fonctionne pas avec EAN13.php?

$image = imagecreatefrompng("EAN13.php?numero=$numero&dimension=1");

alors qu'il fonctionne dans ce cas :

echo '<img src="EAN13.php?numero='.$numero.'&amp;dimension=1">';

Que dois-je écrire pour pouvoir stocker l'image générée par EAN13.php dans une variable?

Commentaire de jbloubert le 14/10/2009 22:14:56

En fait, je cherche a "merger" deux images, l'une contenant l'adresse de mon site, et l'autre contenant le code-barre. L'objectif est ensuite de tout pouvoir imprimer sur des étiquettes.

Commentaire de jbloubert le 14/10/2009 22:35:02

Voici l'erreur donnée par php en utilisant le code suivant.

$image = imagecreatefrompng("EAN13.php?numero=$numero&dimension=1");

Warning: imagecreatefrompng(EAN13.php?numero=9448684763083&dimension=1) [function.imagecreatefrompng]: failed to open stream: No such file or directory in /home/fullhdp/public_html/sherlo.com/2/freebarcodes.php on line 66

Commentaire de fyav le 14/10/2009 23:27:08

Tu dois stocker l'image créée dans un répertoire pour faire un "merge" de tes 2 images.
Mais après il faut détruire ton image générée car ça peux vite prendre de la place.
Il vaut mieux que tu modifie le script en lui même pour mettre l'adresse de ton site dans l'image avec la fonction "imagestring"

Commentaire de jbloubert le 15/10/2009 16:18:27

Je suis pas mal débutant (C'est pour cela que je pompe les codes des autres ;-). Pourrais-tu développer la façon dont tu t'y prendrais pour faire cela ? Autant je pense être capable de merger deux images, mais je ne sais pas comment mettre dans une variable  une image générée par un fichier php. J'ai aussi regardé la fonction imagestring que tu suggères, mais je ne vois pas comment tu peux transposer un code-barre avec cette fonction.

Merci beaucoup en tout cas!

Commentaire de fyav le 15/10/2009 17:41:32

ce n'est pas de transposer un code barre,
le script dessine une par une les barres que tu vois et ensuite dessine un par un les chiffres !
donc il suffit avec imagestring de dessiner du texte en plus.
imagestring ( resource   image  , int   font  , int   x  , int   y  , string   s  , int   col  )
imagestring dessine une chaîne sur une ligne horizontale, dans l'image image , avec le coin en haut à gauche aux coordonnées ( x , y ) (le coin supérieur gauche est l'origine (0,0)) avec la couleur color .
il faut modifier la ligne 154: $height=80;  (à ajuster avec des essais)
et ajouter après la ligne 192: imagestring($img, 4, 5, 65, 'www.sherlo.com', $color[1]);

Commentaire de jbloubert le 22/10/2009 19:53:33

Superbe, tout marche parfaitement!
Merci.
Et une dernière question : peut-on changer la police des nombres?
Merci pour tout...

Commentaire de tyfoon le 04/11/2009 16:55:03

salut !
merci pour ces supers codes mais est ce qu'il est possible de générer en série ces codes barres ? j'en ai 308 à faire...
merci de votre aide
tiphaine

Commentaire de fyav le 04/11/2009 17:30:32

changement de la police :
// "04b.gdf" c'est la police que tu souhaites au format GDF
// exemple de police GDF : http://www.devtrolls.com/gdf_fonts/fonts.html
// ensuite change:
# Affichage du code (Rémi Chéno)
$font = imageloadfont("04b.gdf");
imagestring($img, $font, 5, 50, $this->EAN13[0], $color[1]);
imagestring($img, $font, 19, 50, implode('', array_slice($this->EAN13,1, 6)), $color[1]);
imagestring($img, $font, 65, 50, implode('', array_slice($this->EAN13,7)), $color[1]);

Commentaire de fyav le 04/11/2009 17:31:21

pour tyfoon :

qu'entends-tu par générer en série ?

Commentaire de tyfoon le 04/11/2009 18:10:58

merci de ta réponse !
j'ai un fichier excell avec 308 codes barres sous forme de 13 chiffres, que j'affecte à mes 300 références... Afin de pouvoir les "flasher" en saisie d'inventaire, je voudrai créer un fichier excell qui propose la ref et en face le code barre sous forme de... code barre flashable.
avec toutes les solutions que g trouvé sur le net je n'ai pas trop le choix que de rentrer les 13 chiffres 1 par 1 pour sortir un code barre image... et le coller dans mon fichier excell...
Vu que j'en ai 308 je suis pas couchée :)... GROSSE GALERE !
Donc s'il est possible de faire quelque chose a partir de ton code pour générer ma série de code barre en une seule fois, quitte à les placer dans excell avec une petite macro, je serai enchantée !


Commentaire de fyav le 04/11/2009 18:43:47

alors ta solution n'est pas si évidente que ça, car pour placer une image dans des cases excel, c'est la galère.
deux solutions :
1/ tu bascule ta base excel dans une base mysql et tu traite en PHP pour afficher une page web de ton listing
2/ tu créé du code html dans tes cellules excel,
je m'explique : colonne A : tes codes à 13 chiffres
colonne B : une formule qui est la suivante (entre les #) :
#="<tr><td>"&A1&"</td><td><img scr=""http://www.tonsite.com/EAN13.php?numero="&A1&"""></td></tr>"#
N'oublie pas d'ajouter une première ligne avec la formule #="<html><body><table>"#
et la dernière ligne : #="</table></body></html>"#
puis tu sélectionne ta colonne B, tu copie et tu colle dans un fichier html !
et voilà ........

Commentaire de tyfoon le 04/11/2009 18:58:31

Super merci de ton aide ! je vais m'y employer de ce pas...
je suis un peu larguée en html ! mais ça m'a l'air assez logique tout ça.
c'est effectivement une solution plus rapide que celle que j'envisageais.
merci et bonne soirée
tiphaine

Commentaire de ccn74 le 10/01/2010 16:55:39

Bonjour
Nouveau en PHP j'ai un peu galéré pour afficher le CB demandé mais ça y est ça fonctionne.
En revanche je n'arrive pas à enregistrer une image du CB
j'ai bien mis en début de code :
   . $filename = "C:\Test\Code_Barre\myImg.png";
Puis dans la fonction de création remplacé :
   . function makeImage($imageType="png") par
   . function makeImage($imageType="png", $filename)
mais je ne sais pas ou placer
   . $func_name($img,$filename);
car je ne trouve pas la ligne
   . $func_name($img);

Quelqun peut-il venir à l'aide d'un boulet ?
merci par d'avance

Commentaire de fyav le 10/01/2010 20:09:59

ligne 208 dans le code (7ème ligne en partant du bas)

Commentaire de ccn74 le 10/01/2010 23:08:14

Merci de ta réponse

mais à la ligne 208 je lis
   $func_name($thumb);
et pas
   $func_name($img);
est-ce bien cette ligne là ? est-ce que je dois faire
$func_name($thumb,$filename); ou réellement $func_name($img,$filename); ??
les 2 variables àtant disponible dans le code.

Bonne soirée

Commentaire de fyav le 11/01/2010 00:04:23

$thumb est l'image finale

Commentaire de Djululu le 28/01/2010 12:51:01 10/10

Si je peux aider pour le stockage du code barre une fois generé :

sous la ligne > Header( "Content-type: image/".$imageType);

Placer > imagepng($thumb, '../REPERTOIRE/Nom.png');

Commentaire de Djululu le 28/01/2010 13:38:27

Sorry grosse C.....

Commentaire de Djululu le 28/01/2010 17:13:30

Bonjour,

Tout d'abords code génial.
Par contre comme CNN74 impossible de l'enregistrer sur le serveur.
Message d'erreur si je suis ta logique FYAV.

Warning: Missing argument 2 for makeimage() in /homez...... on line 147

Warning: Cannot modify header information - headers already sent by (output started at /homez..............php:147) in /homez..............php on line 206

Warning: imagepng() [function.imagepng]: Invalid filename in /homez.................php on line 210

Si quelqu'un pouvait m'aider il serait fort sympathique :)

Commentaire de strebaol le 18/02/2010 20:08:16

comment faire pour lancer se programme (désole je suis pas coutumier de ce genre de programme)

Commentaire de fyav le 19/02/2010 10:19:09

si vous n'avez jamais programmé en php, soit vous avez du temps et vous apprenez, soit vous faites appel à un pro !
et pourquoi avez-vous besoin de ce programme ?

Commentaire de strebaol le 19/02/2010 16:41:41

pour  imprimer des etiquettes car j ai une petite entreprise et mes clients en ont besoin

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

fonction email() [ par plx4ever ] Salut &#224; tous !! Mon site est h&#233;berg&#233; chez Online.net, et j'utilise donc la fonction email(). Je vous fait par de mon code : &nbsp; $Do Générateur de flash [ par Tilix ] Salut, Je voudrais savoir comment faire pour r&#233;alis&#233; un g&#233;n&#233;rateur d'animation flash en php... et surtout pour rajouter du texte générateur [ par simon0000 ] salut tous le monde comment est ce que je peux generer tous les mots de 6 caractaire par les caractaire 'a,b,c,d,e,f,1,2,3,"&nbsp;merci d'avance<IMG s Générateur de chaine de date pour la fonction Date() php4 [ par MaX3315 ] Je viens de post&#233;e une source javascript ici : http://www.javascriptfr.com/code.aspx?ID=34855Il s'agit d'une interface g&#233;n&#233;rant les cha Générateur de cartes à jouer [ par ZuGbEn ] Bonjour ! Je suis en train de d&#233;velopper un g&#233;n&#233;rateur de cartes &#224; jouer, qui affiche par exemple un 7 de carreau quand on lui de Générateur de formulaire et base de donnée [ par helphp ] Bonjour &#224; tous,Je suis &#224; la case d&#233;butant pour la programmation. Je suis entrain de construire un site qui aura le r&#233;pertoire de p Générateur de clé Wep [ par pouda ] Bonjour &#224; tous,Actuellement je recherche une petit bout de code qui me permettrait de pouvoir g&#233;n&#233;rer une cle wep a partir d'une pass p Générateur de fichiés CSS externe [ par jnbdzjnbdz ] J'aissais de faire un générateur d'un fichier css externe avec php et mysql. Pour le moment le code css s'affiche quand je l'ouvre dans le navigateur phpDocumentor : le générateur qui fonctionne pas [ par Epoc22 ] Bonjour à tous,j'essaie d'utiliser en ce moment phpDocumentor mais je n'y arrive pas du tout. Est ce que vous avez aussi des problèmes sur phpDocument Générateur de DAO (ou DAL) pour php [ par morpheus57 ] Bonjour,Je suis à la recherche d'un générateur de DAL (Data Access Library) pour PHP. Est-ce que quelqu'un connaît un bon outils existant ?Sinon, quel


Nos sponsors


Sondage...

Comparez les prix


HTC Magic

Entre 429€ et 429€

CalendriCode

Mars 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 1,716 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales