cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 2007
-
28 mai 2005 à 08:35
Stagiaire en galère -
16 juil. 2015 à 12:49
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_bibos
Messages postés7Date d'inscriptionvendredi 11 avril 2003StatutMembreDernière intervention28 septembre 2011 28 sept. 2011 à 11:27
Excellent script, merci.
Mais je me suis quand même cassé la tête dessus jusqu'à lire le message de ghetto95.
Car moi aussi en copier/collant le code avec le clic droit de la souris sous Firefox, rien ne fonctionnait...
Il m'a fallu passer par IE et cliquer sur "copier dans le presse papier" pour que ça marche.
C'est très énervant ces soucis de copier/coller quand même...
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 5 avril 2011 à 13:19
c'est normal
votre formulaire crée l'image une fois que vous l'avez validé.
comment voulez-vous qu'il crée une image dont le code n'a pas été saisi ?
d'ailleurs pourquoi mettez-vous un formulaire si c'est une page à imprimer ?
je ne comprends pas votre raisonnement ?
senateur17
Messages postés58Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention31 mai 2011 5 avril 2011 à 12:07
<script type="text/javascript">
function getCookieVal(offset) {
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return getCookieVal (j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;}
return null;
}
function DeleteCookie (name) {
var exp=new Date();
exp.setTime (exp.getTime() - 100000);
var cval=GetCookie (name);
document.cookie=name+"="+cval+"; expires="+exp.toGMTString();
}
function EAN13() {
//var form = document.getElementById('form1');
var url="index.php";
cb = document.form2.codeBarre.value;
if (isNaN(cb)||cb.length!=12) {
alert("Un nombre de 12 chiffres seulement");
document.location.href=url;
return false;
}else{
url="index.php?valid="+1;
document.location.href=url;
}
}
/**
* Constructeur
*
* Initialise la classe
*
* @EAN13 string code EAN13
*
* return void
*/
function GetCheckDigit($EAN13)
{
//Calcule le chiffre de contrle
$sum=0;
for($i=1;$i<=11;$i+=2)
$sum+=3*$EAN13{$i};
for($i=0;$i<=10;$i+=2)
$sum+=$EAN13{$i};
$r=$sum%10;
if($r>0)
$r=10-$r;
return $r;
}
function debora($EAN13)
{
$EAN13=$EAN13.$this->GetCheckDigit($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="jpeg")
{
global $form_dimension;
//Initialisation de l'image
//$img=imagecreate(120, 70);
//unlink("image/monimage.jpeg");
$width=120;
$height=70;
$img=imagecreate($width, $height);
</html>
Il copie l'image dans le répertoire image
Il cherche d'abord l'élément div EAN13CODE
L'impression marche mais le problème c'est qu'il imprime l'image qu'on a saisie avant et non actuelle. Je pense que l'image précédente n'est pas supprimée
Avez-vous une solution?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 5 avril 2011 à 08:52
le script d'origine crée l'image, l'affiche et la détruit !
senateur17
Messages postés58Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention31 mai 2011 5 avril 2011 à 07:26
Bonjour,j'ai utilisé ce code pour impression,je ne parviens pas supprimer l'image après impression ,comment on fait?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 19 mars 2011 à 10:49
qu'avez-vous besoin comme aide ?
senateur17
Messages postés58Date d'inscriptionjeudi 2 octobre 2008StatutMembreDernière intervention31 mai 2011 17 mars 2011 à 15:09
Bonjour,ce code marche bien ,je veux utiliser ce code pour l'impression
Pouvez-vous m'aider s'il vous plait?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 févr. 2011 à 17:37
attention le code EAN13 est un code avec clé de cryptage....
donc vous ne pourrez pas l'incrémenter de 1 !
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 17:29
génial.... Merci
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 17:17
Non, en faite, j'avais copié collé le texte en le sélectionnant avec le pointeur de ma souris. La je viens de le faire en sélectionnant copié dans le presse parier et cale fonctionne. Merci bcp. Juste une dernière question, comment fait-on pour générer un code ean13 de manière automatique, c'est à dire en l'incrémentant de 1 à chaque fois...?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 févr. 2011 à 17:07
alors c'est que tu as un problème dans le code
as-tu modifié l'original ?
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 16:15
Oui, j'ai également le même message en tapant directement l'URL
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 16:14
PNG normalement, comme je vous l'ai dit, j'ai rien changer dans votre code...
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 févr. 2011 à 15:57
ce message vous l'avez en tapant directement l'url ?
car normalement ça devrai vous afficher l'image !!!
quel type d'image vous affichez ?
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 15:46
oui, gd2 est activé (php_dg2) dans les extensions php. J'utilise easyphp 5.3.5.0. J'ai éssayé également comme ça et j'obtiens le même message, c'est à dire L'image "http://127.0.0.1:8888/test.php?numero=3149025043092&dimension=5". Je ne comprends vraiment pas ou ça bloque....
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 févr. 2011 à 15:43
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 15:10
lol ok. En fait j'ai fait un copié collé de code dans un fichier que j'ai appelé test.php sans rien changer. Ensuite j'ai créer un fichier html que j'ai appelé appel.html dans lequel j'ai mis :
<html>
</html>
Mais Firefox et IE m'affiche une image cassé (un truc un peu bizarre, c'est un carré blranc contenant un truc cassé en deux). Et quand dans firefox je clique dessus et que je fais afficher l'image, il me dit que "L'image "http://127.0.0.1:8888/test.php?numero=3149025043092&dimension=5" ne peut être affichée car elle contient des erreurs. Et je ne comprends pas trop d'où vient le problème. Merci de ton aide
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 févr. 2011 à 12:39
ça va être dur sans plus de précision !
ghetto95
Messages postés15Date d'inscriptionlundi 15 février 2010StatutMembreDernière intervention17 juin 2011 23 févr. 2011 à 12:33
Bonjour,
Je n'arrive pas à afficher le code. J'ai un message me disant que le "L'image "http://127.0.0.1:8888/test.php" ne peut être affichée car elle contient des erreurs. Quelqu'un pourrai m'aider. Merci d'avance.
cs_SparkIe
Messages postés5Date d'inscriptionmercredi 6 janvier 2010StatutMembreDernière intervention31 décembre 2010 31 déc. 2010 à 11:23
Bonjour,
Ce code est génial, mais....
Je m'arrive pas à faire afficher l'image à la verticale...
Qui as une solution pour moi car imagerotate() se montre récalcitrant
Merci d'avance
En bonus un petit bout de code calculant la clé EAN13 et demandant l'afiichage du code :
<?php
// ce fichier s'appelle par exemple Appel_EAN13.php
// et appellera le fichier EAN13.php de FYAV
// page appelante codée par Frédéric FAUDE le 30/12/2010
if ( isset( $_POST['form_numero'] )
AND isset( $_POST['form_dimension'] )
)
{ //--> Partie calculant la clé de contrôle développée
// et intégrée par Frédéric FAUDE le 30/12/2010
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 18 juin 2010 à 02:38
bizarre, c'est surement que le script ne fonctionne pas bien
cs_yoyobi
Messages postés2Date d'inscriptionvendredi 4 juin 2010StatutMembreDernière intervention17 juin 2010 17 juin 2010 à 23:10
Bonjour. Merci de votre réponse, mais quand je fais cela, le navigateur renvoie une croix comme lorsqu'il ne trouve pas une image. Merci
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 17 juin 2010 à 01:07
tout simplement parce que si vous appelez le script en tapant son adresse dans la barre d'adresse de votre navigateur (ex : http://www.tonsite.com/EAN13.php?numero=1234567890123 )
le navigateur ne verra pas l'extension .jpg mais un fichier php et renverra le texte (caractères bizarres qui sont le contenu d'un fichier image)
comme si on ouvrait une image avec un éditeur de texte (ex: bloc note) au lieu d'un éditeur de photos (ex : paint)
il faut absolument créer un fichier html dans lequel on met :
et le navigateur renverra une image......
cs_yoyobi
Messages postés2Date d'inscriptionvendredi 4 juin 2010StatutMembreDernière intervention17 juin 2010 16 juin 2010 à 22:40
Bonjour
Pourquoi personne ne dit comment resoudre l'affichage des caracteres bizarres?
j'utilise xamp et gd2 est activé
strebaol
Messages postés2Date d'inscriptionjeudi 18 février 2010StatutMembreDernière intervention19 février 2010 19 févr. 2010 à 16:41
pour imprimer des etiquettes car j ai une petite entreprise et mes clients en ont besoin
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 19 févr. 2010 à 10:19
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 ?
strebaol
Messages postés2Date d'inscriptionjeudi 18 février 2010StatutMembreDernière intervention19 février 2010 18 févr. 2010 à 20:08
comment faire pour lancer se programme (désole je suis pas coutumier de ce genre de programme)
Djululu
Messages postés5Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention28 janvier 2010 28 janv. 2010 à 17:13
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 :)
Djululu
Messages postés5Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention28 janvier 2010 28 janv. 2010 à 13:38
Sorry grosse C.....
Djululu
Messages postés5Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention28 janvier 2010 28 janv. 2010 à 12:51
Si je peux aider pour le stockage du code barre une fois generé :
sous la ligne > Header( "Content-type: image/".$imageType);
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 11 janv. 2010 à 00:04
$thumb est l'image finale
ccn74
Messages postés12Date d'inscriptionvendredi 17 septembre 2004StatutMembreDernière intervention10 janvier 2010 10 janv. 2010 à 23:08
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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 10 janv. 2010 à 20:09
ligne 208 dans le code (7ème ligne en partant du bas)
ccn74
Messages postés12Date d'inscriptionvendredi 17 septembre 2004StatutMembreDernière intervention10 janvier 2010 10 janv. 2010 à 16:55
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
cs_tyfoon
Messages postés9Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention 4 novembre 2009 4 nov. 2009 à 18:58
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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 4 nov. 2009 à 18:43
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></td></tr>"#
N'oublie pas d'ajouter une première ligne avec la formule #="<html>\"#
et la dernière ligne : #="
</html>"#
puis tu sélectionne ta colonne B, tu copie et tu colle dans un fichier html !
et voilà ........
cs_tyfoon
Messages postés9Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention 4 novembre 2009 4 nov. 2009 à 18:10
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 !
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 4 nov. 2009 à 17:31
pour tyfoon :
qu'entends-tu par générer en série ?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 4 nov. 2009 à 17:30
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]);
cs_tyfoon
Messages postés9Date d'inscriptionvendredi 28 novembre 2008StatutMembreDernière intervention 4 novembre 2009 4 nov. 2009 à 16:55
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
jbloubert
Messages postés5Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 octobre 2009 22 oct. 2009 à 19:53
Superbe, tout marche parfaitement!
Merci.
Et une dernière question : peut-on changer la police des nombres?
Merci pour tout...
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 15 oct. 2009 à 17:41
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]);
jbloubert
Messages postés5Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 octobre 2009 15 oct. 2009 à 16:18
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!
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 14 oct. 2009 à 23:27
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"
jbloubert
Messages postés5Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 octobre 2009 14 oct. 2009 à 22:35
Voici l'erreur donnée par php en utilisant le code suivant.
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
jbloubert
Messages postés5Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 octobre 2009 14 oct. 2009 à 22:14
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.
jbloubert
Messages postés5Date d'inscriptionvendredi 22 mai 2009StatutMembreDernière intervention22 octobre 2009 14 oct. 2009 à 22:08
Bonjour,
Pourquoi ce code ne fonctionne pas avec EAN13.php?
Que dois-je écrire pour pouvoir stocker l'image générée par EAN13.php dans une variable?
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 13 juil. 2009 à 17:51
toujours se souvenir: noms de fichier : majuscules ou minuscules sans accent et pas d'espace !
heureux de t'avoir aidé
liptoon
Messages postés4Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention13 juillet 2009 13 juil. 2009 à 17:26
MDR.. le code plantait a cause du nom de mon répertoire qui contenait des "é".. tout fonctionne apparemment. Merci de ton aide.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 13 juil. 2009 à 17:21
alors qu'est-ce que cet appel au fichier test.php ? (required test.php)
liptoon
Messages postés4Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention13 juillet 2009 13 juil. 2009 à 17:00
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 13 juil. 2009 à 16:55
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 !
liptoon
Messages postés4Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention13 juillet 2009 13 juil. 2009 à 16:06
j'ai fait un copier coller du code et créer un fichier html contenant le code ci-dessous :
et je me retrouve avec une croix rouge a la place du code barre..
:(:(:(
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 13 juil. 2009 à 15:54
as-tu fait exactement comme c'est décrit ? parce qu'il n'y a pas d'include dans le script !!!
liptoon
Messages postés4Date d'inscriptionjeudi 19 juin 2003StatutMembreDernière intervention13 juillet 2009 13 juil. 2009 à 14:54
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
J'utilise Easyphp 2 (et même avec la version) et rien de va.. :(:(:(
Dans l'attente d'une réponse de votre part...
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 26 mai 2008 à 18:54
en fait si ton fichier php s'appel EAN13.php il faut mettre dans une page html :
où "numero" est le numéro du code EAN13 et "dimension" est la ....
denisdechavagnes
Messages postés2Date d'inscriptionmardi 16 mars 2010StatutMembreDernière intervention16 mars 2010 26 mai 2008 à 17:06
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
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 29 févr. 2008 à 10:23
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 29 févr. 2008 à 00:00
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 !
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 26 févr. 2008 à 15:43
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
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 26 févr. 2008 à 10:07
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).
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 22 févr. 2008 à 18:02
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 :
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 22 févr. 2008 à 17:19
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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 22 févr. 2008 à 16:04
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
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 22 févr. 2008 à 14:54
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:
Code ean13 :
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 22 févr. 2008 à 12:21
à mon avis tu as un truc qui ne fonctionne pas dans le script ou dans ton serveur, ...
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 22 févr. 2008 à 11:58
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 22 févr. 2008 à 09:36
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 !
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 22 févr. 2008 à 09:22
<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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 21 févr. 2008 à 12:38
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'
pgu83
Messages postés17Date d'inscriptionjeudi 21 février 2008StatutMembreDernière intervention30 avril 2009 21 févr. 2008 à 11:25
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
dans la génération de monfichier pdf
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 9 janv. 2008 à 15:40
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
jpescarres
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 9 janvier 2008 9 janv. 2008 à 15:18
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!
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 9 janv. 2008 à 14:39
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
jpescarres
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 9 janvier 2008 9 janv. 2008 à 14:09
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.
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012 9 janv. 2008 à 13: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();
jpescarres
Messages postés3Date d'inscriptionmercredi 9 janvier 2008StatutMembreDernière intervention 9 janvier 2008 9 janv. 2008 à 12:49
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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 23 déc. 2007 à 11:38
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:
le principe est simple tu appel ton programme ean13.php qui va te renvoyer une image correspondante au numéro demandé
cs_santiago69
Messages postés91Date d'inscriptionjeudi 18 novembre 2004StatutMembreDernière intervention17 décembre 2008 23 déc. 2007 à 11:15
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 13 sept. 2007 à 00:01
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....
exeforever
Messages postés1Date d'inscriptionlundi 18 août 2003StatutMembreDernière intervention12 septembre 2007 12 sept. 2007 à 17:16
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...
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012 30 mai 2007 à 13:17
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 30 mai 2007 à 12:20
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
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012 30 mai 2007 à 12:19
c'est bon j'ai trouvé merci. Comme d'hab je fait mon boulet lol. En vous remerciant.
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012 30 mai 2007 à 11:54
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.
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 29 mai 2007 à 22:29
comment tu fais ? explique merci.
kowalska
Messages postés33Date d'inscriptionsamedi 15 octobre 2005StatutMembreDernière intervention 4 janvier 2012 29 mai 2007 à 11:28
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.
Ashitaka99
Messages postés2Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention 2 avril 2007 2 avril 2007 à 18:16
Yes sa gere. Maintenant que tu me le dis, sa me parait normal ^^ Jespere que sa marchera :P
Merci bien ;)
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 2 avril 2007 à 14:52
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 :
Ashitaka99
Messages postés2Date d'inscriptionlundi 2 avril 2007StatutMembreDernière intervention 2 avril 2007 2 avril 2007 à 14:29
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.
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 ?
cs_Alpha911
Messages postés88Date d'inscriptionvendredi 15 avril 2005StatutMembreDernière intervention13 août 2011 15 mars 2007 à 23:31
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
cs_rafarel
Messages postés9Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention23 janvier 2009 29 janv. 2007 à 13:19
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;
}
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 29 janv. 2007 à 11:46
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
cs_rafarel
Messages postés9Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention23 janvier 2009 29 janv. 2007 à 11:11
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.
cs_rafarel
Messages postés9Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention23 janvier 2009 29 janv. 2007 à 10:56
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 );
// 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
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 29 janv. 2007 à 00:14
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
cs_rafarel
Messages postés9Date d'inscriptionsamedi 4 mars 2006StatutMembreDernière intervention23 janvier 2009 28 janv. 2007 à 19:05
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
cs_Salve
Messages postés2Date d'inscriptionlundi 8 septembre 2003StatutMembreDernière intervention10 novembre 2005 10 nov. 2005 à 11:36
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.
cs_Anthomicro
Messages postés9433Date d'inscriptionmardi 9 octobre 2001StatutMembreDernière intervention13 avril 20078 11 oct. 2005 à 17:29
si t'as easyphp, clic droit, extensions php, tu coches "GD2"
INFODIG
Messages postés2Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention11 octobre 2005 11 oct. 2005 à 17:11
koi ca GD2
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 11 oct. 2005 à 17:07
Tu dois activer GD2.
INFODIG
Messages postés2Date d'inscriptionmercredi 29 novembre 2000StatutMembreDernière intervention11 octobre 2005 11 oct. 2005 à 14:59
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!!
fyav
Messages postés124Date d'inscriptionmardi 30 décembre 2003StatutMembreDernière intervention12 février 2010 29 mai 2005 à 01:04
"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
cs_GRenard
Messages postés1662Date d'inscriptionlundi 16 septembre 2002StatutMembreDernière intervention30 juillet 20081 28 mai 2005 à 20:40
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 ?
16 juil. 2015 à 12:49
28 sept. 2011 à 11:27
Mais je me suis quand même cassé la tête dessus jusqu'à lire le message de ghetto95.
Car moi aussi en copier/collant le code avec le clic droit de la souris sous Firefox, rien ne fonctionnait...
Il m'a fallu passer par IE et cliquer sur "copier dans le presse papier" pour que ça marche.
C'est très énervant ces soucis de copier/coller quand même...
5 avril 2011 à 13:19
votre formulaire crée l'image une fois que vous l'avez validé.
comment voulez-vous qu'il crée une image dont le code n'a pas été saisi ?
d'ailleurs pourquoi mettez-vous un formulaire si c'est une page à imprimer ?
je ne comprends pas votre raisonnement ?
5 avril 2011 à 12:07
<html>
<head>
<title>Code barre EAN13</title>
<!--<link rel="stylesheet" type="text/css" media="print" href="print.css" />-->
<script src="js/jquery.js" type="text/javascript"></script>
<script src="js/jquery.tablesorter.js" type="text/javascript"></script>
<script src="js/jquery.jPrintArea.js" type="text/javascript"></script>
<script src="js/codebarre.js" type="text/javascript"></script>
<script type="text/javascript">
function getCookieVal(offset) {
var endstr=document.cookie.indexOf (";", offset);
if (endstr==-1)
endstr=document.cookie.length;
return unescape(document.cookie.substring(offset, endstr));
}
function GetCookie (name) {
var arg=name+"=";
var alen=arg.length;
var clen=document.cookie.length;
var i=0;
while (i<clen) {
var j=i+alen;
if (document.cookie.substring(i, j)==arg)
return getCookieVal (j);
i=document.cookie.indexOf(" ",i)+1;
if (i==0) break;}
return null;
}
function DeleteCookie (name) {
var exp=new Date();
exp.setTime (exp.getTime() - 100000);
var cval=GetCookie (name);
document.cookie=name+"="+cval+"; expires="+exp.toGMTString();
}
function EAN13() {
//var form = document.getElementById('form1');
var url="index.php";
cb = document.form2.codeBarre.value;
if (isNaN(cb)||cb.length!=12) {
alert("Un nombre de 12 chiffres seulement");
document.location.href=url;
return false;
}else{
url="index.php?valid="+1;
document.location.href=url;
}
}
</script>
</head>
<?php
$valid="";
if(isset($_GET['valid'])){
$valid=$_GET['valid'];
}
$codebar="";
if(isset($_POST['codeBarre'])){
if(!empty($_POST['codeBarre'])){
$codebar=$_POST['codeBarre'];
$form_dimension=4.5;
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 GetCheckDigit($EAN13)
{
//Calcule le chiffre de contrle
$sum=0;
for($i=1;$i<=11;$i+=2)
$sum+=3*$EAN13{$i};
for($i=0;$i<=10;$i+=2)
$sum+=$EAN13{$i};
$r=$sum%10;
if($r>0)
$r=10-$r;
return $r;
}
function debora($EAN13)
{
$EAN13=$EAN13.$this->GetCheckDigit($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="jpeg")
{
global $form_dimension;
//Initialisation de l'image
//$img=imagecreate(120, 70);
//unlink("image/monimage.jpeg");
$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);
//Transfert du fichier dans le répertoire image
imagejpeg($img,"image/monimage.jpeg");
chmod ("image/monimage.jpeg", 0777);
imagedestroy($img);
imagedestroy($thumb);
}
}
unlink("image/monimage.jpeg");
$ean13 = new debora($codebar);
$ean13->makeImage();
}
}
?>
<form name="form2" id="form2" method="POST" >
Code EAN13 (12 premier chiffres):
</form>
<?php if(!empty($codebar)){
$image='';
?>
<form name="form1" id="form1" >
<fieldset style="margin-top:100px;width:7.5cm;height:1.1cm;border: 1px solid #000000; text-decoration: none;
-moz-border-radius: 10px 10px 10px 10px;
-webkit-border-radius: 10px 10px 10px 10px;
border-radius: 10px 10px 10px 10px;
-webkit-border-top-left-radius: 10px; /* pour Chrome */
-webkit-border-top-right-radius: 10px; "> <?php echo $image;?>
<label>Poids </label><?php echo "4.41 grs"; ?>,
----
<?php echo "S12MN1K"; ?>,
<?php echo "Puste"; ?>,
<?php echo "21.90 Eur"; ?>
</fieldset>
</form>
<?php $codebar="";}?>
</html>
Il copie l'image dans le répertoire image
Il cherche d'abord l'élément div EAN13CODE
L'impression marche mais le problème c'est qu'il imprime l'image qu'on a saisie avant et non actuelle. Je pense que l'image précédente n'est pas supprimée
Avez-vous une solution?
5 avril 2011 à 08:52
5 avril 2011 à 07:26
19 mars 2011 à 10:49
17 mars 2011 à 15:09
Pouvez-vous m'aider s'il vous plait?
23 févr. 2011 à 17:37
donc vous ne pourrez pas l'incrémenter de 1 !
23 févr. 2011 à 17:29
23 févr. 2011 à 17:17
23 févr. 2011 à 17:07
as-tu modifié l'original ?
23 févr. 2011 à 16:15
23 févr. 2011 à 16:14
23 févr. 2011 à 15:57
car normalement ça devrai vous afficher l'image !!!
quel type d'image vous affichez ?
23 févr. 2011 à 15:46
23 févr. 2011 à 15:43
essaye d'afficher le résultat directement en tapant l'url http://127.0.0.1:8888/test.php?numero=3149025043092&dimension=5
23 févr. 2011 à 15:10
<html>
</html>
Mais Firefox et IE m'affiche une image cassé (un truc un peu bizarre, c'est un carré blranc contenant un truc cassé en deux). Et quand dans firefox je clique dessus et que je fais afficher l'image, il me dit que "L'image "http://127.0.0.1:8888/test.php?numero=3149025043092&dimension=5" ne peut être affichée car elle contient des erreurs. Et je ne comprends pas trop d'où vient le problème. Merci de ton aide
23 févr. 2011 à 12:39
23 févr. 2011 à 12:33
Je n'arrive pas à afficher le code. J'ai un message me disant que le "L'image "http://127.0.0.1:8888/test.php" ne peut être affichée car elle contient des erreurs. Quelqu'un pourrai m'aider. Merci d'avance.
31 déc. 2010 à 11:23
Ce code est génial, mais....
Je m'arrive pas à faire afficher l'image à la verticale...
Qui as une solution pour moi car imagerotate() se montre récalcitrant
Merci d'avance
En bonus un petit bout de code calculant la clé EAN13 et demandant l'afiichage du code :
<?php
// ce fichier s'appelle par exemple Appel_EAN13.php
// et appellera le fichier EAN13.php de FYAV
// page appelante codée par Frédéric FAUDE le 30/12/2010
if ( isset( $_POST['form_numero'] )
AND isset( $_POST['form_dimension'] )
)
{ //--> Partie calculant la clé de contrôle développée
// et intégrée par Frédéric FAUDE le 30/12/2010
for ( $i = 0 ; $i < 12 ; $i++ )
{
$nombre = substr( $_POST['form_numero'] , $i , 1 );
if ( ( $i / 2 - floor( $i / 2 ) ) == 1 / 2 )
{ $cle = $nombre * 3 + $cle; }
else{ $cle = $nombre * 1 + $cle; }
}
$cle = 10 - ( ( $cle / 10 - floor( $cle / 10 ) ) * 10 );
if ( $cle 10 ){ $cle 0; }
$form_numero = $_POST['form_numero'].$cle;
$form_dimension = $_POST['form_dimension'];
//--> Fin partie du calcul de la clé de contrôle -------------
echo( '
'
);
}
echo( ' <html>
<head>
</head>
<form
method = "POST"
action = "Appel_EAN13.php"
>
'."N° du code barre".'
'."Dimension du code barre".'
</form>
</html>
'
);
?>
18 juin 2010 à 02:38
17 juin 2010 à 23:10
17 juin 2010 à 01:07
le navigateur ne verra pas l'extension .jpg mais un fichier php et renverra le texte (caractères bizarres qui sont le contenu d'un fichier image)
comme si on ouvrait une image avec un éditeur de texte (ex: bloc note) au lieu d'un éditeur de photos (ex : paint)
il faut absolument créer un fichier html dans lequel on met :
et le navigateur renverra une image......
16 juin 2010 à 22:40
Pourquoi personne ne dit comment resoudre l'affichage des caracteres bizarres?
j'utilise xamp et gd2 est activé
19 févr. 2010 à 16:41
19 févr. 2010 à 10:19
et pourquoi avez-vous besoin de ce programme ?
18 févr. 2010 à 20:08
28 janv. 2010 à 17:13
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 :)
28 janv. 2010 à 13:38
28 janv. 2010 à 12:51
sous la ligne > Header( "Content-type: image/".$imageType);
Placer > imagepng($thumb, '../REPERTOIRE/Nom.png');
11 janv. 2010 à 00:04
10 janv. 2010 à 23:08
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
10 janv. 2010 à 20:09
10 janv. 2010 à 16:55
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
4 nov. 2009 à 18:58
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
4 nov. 2009 à 18:43
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></td></tr>"#
N'oublie pas d'ajouter une première ligne avec la formule #="<html>\"#
et la dernière ligne : #="
</html>"#
puis tu sélectionne ta colonne B, tu copie et tu colle dans un fichier html !
et voilà ........
4 nov. 2009 à 18:10
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 !
4 nov. 2009 à 17:31
qu'entends-tu par générer en série ?
4 nov. 2009 à 17:30
// "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]);
4 nov. 2009 à 16:55
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
22 oct. 2009 à 19:53
Merci.
Et une dernière question : peut-on changer la police des nombres?
Merci pour tout...
15 oct. 2009 à 17:41
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]);
15 oct. 2009 à 16:18
Merci beaucoup en tout cas!
14 oct. 2009 à 23:27
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"
14 oct. 2009 à 22:35
$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
14 oct. 2009 à 22:14
14 oct. 2009 à 22:08
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 '';
Que dois-je écrire pour pouvoir stocker l'image générée par EAN13.php dans une variable?
13 juil. 2009 à 17:51
heureux de t'avoir aidé
13 juil. 2009 à 17:26
13 juil. 2009 à 17:21
13 juil. 2009 à 17:00
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.
13 juil. 2009 à 16:55
13 juil. 2009 à 16:06
et je me retrouve avec une croix rouge a la place du code barre..
:(:(:(
13 juil. 2009 à 15:54
13 juil. 2009 à 14:54
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...
26 mai 2008 à 18:54
où "numero" est le numéro du code EAN13 et "dimension" est la ....
26 mai 2008 à 17:06
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
29 févr. 2008 à 10:23
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.
29 févr. 2008 à 00:00
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 !
26 févr. 2008 à 15:43
Je sens que j'approche du but
26 févr. 2008 à 10:07
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).
22 févr. 2008 à 18:02
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õÿ™¾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â]ã?¿ÿìÀß{°óƒÇõÃùŸû]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{{àà@Ö™97ò¥Ûÿæßëqóõ9S #*?dD€Œ¨? êçVº~¼ëóåkVùRêùÁFéÄÆ#ÿÍõçq—Žüœ«‡÷ѓ훯g}ÌÇ™
?Q #*?dú›Ÿeî"ò"Þ´ø4·ñ|¹–ß‘÷Ÿ{ôÇüqœ©??2¢@FT?È|u¡~Á5±«—=¿¹¬z׃cÇïb;¿KÉ›ƒ{ø¸%ñƒõç×òšÏ?^ܾə
?Q #*?d®]SqÏÑü2÷ÜêHþŒ¿A7^†^ðÉP_úXù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?Ȉ
?™~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`‚
22 févr. 2008 à 17:19
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
22 févr. 2008 à 16:04
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
22 févr. 2008 à 14:54
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:
Code ean13 :
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.
22 févr. 2008 à 12:21
22 févr. 2008 à 11:58
http://www.monsite.com/ean13.php?numero=3149025043092&dimension=5
22 févr. 2008 à 11:35
22 févr. 2008 à 11:31
‰PNG IHDRX^Öµö ÂIDATxœíÝAŽ›0@Ѧšû_™n«,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@Ú™‹eN|¾æ7wÌ[.qÈÈ0.ûŒÞw }˜¢w]ƒfì»ôîHBÒ„€4! íÌÅ2ï{‚:ò,zÞ0XСÏè}WÊ—gìëß+VàŽ€4! MHBÒ| Óž»†qhKˆ,¥yýTYsŸŽgÎe3v‘©òˆ‹n‘KãÜ&„¤ !iB@ÚÄÅ2‡Õ®¹šà2#_˜rÈþ²…»öÊ™·üçÄ _^0 O|Û/›±#¯|â_•ßº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ûÕÿ”탰.+IEND®B`‚
Pour info je travaille sous linux
22 févr. 2008 à 09:36
22 févr. 2008 à 09:22
'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
21 févr. 2008 à 12:38
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'
21 févr. 2008 à 11:25
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
dans la génération de monfichier pdf
9 janv. 2008 à 15:40
j'ai pour l'instant réussi à redimmensionner le code barre mais pas les chiffres...
je pense toucher au but
9 janv. 2008 à 15:18
Avant de me lancer la dedans, je préférais demander s'il n'y avait pas + simple.
Merci pour vos réponses!
9 janv. 2008 à 14:39
il ne suffit pas de multiplier !
il faut faire en sorte de garder le principe des largeurs des barres et des espaces
9 janv. 2008 à 14:09
$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.
9 janv. 2008 à 13:09
9 janv. 2008 à 12:49
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
23 déc. 2007 à 11:38
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:
le principe est simple tu appel ton programme ean13.php qui va te renvoyer une image correspondante au numéro demandé
23 déc. 2007 à 11:15
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.
13 sept. 2007 à 00:01
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....
12 sept. 2007 à 17:16
30 mai 2007 à 13:17
Mais c'est bon j'ai fait certaine modification et ca marche correctement maintenant.
Je te remercie pour ton code.
30 mai 2007 à 12:20
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
30 mai 2007 à 12:19
30 mai 2007 à 11:54
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.
29 mai 2007 à 22:29
29 mai 2007 à 11:28
j'ai un petit soucis d'affichage! j'ai toujours une page blanche. Pourriez vous m'indiquer la démarche a suivre svp ! Merci.
2 avril 2007 à 18:16
Merci bien ;)
2 avril 2007 à 14:52
- 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 :
2 avril 2007 à 14:29
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 ?
15 mars 2007 à 23:31
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
29 janv. 2007 à 13:19
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
29 janv. 2007 à 11:46
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
29 janv. 2007 à 11:11
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.
29 janv. 2007 à 10:56
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
29 janv. 2007 à 00:14
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
28 janv. 2007 à 19:05
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
10 nov. 2005 à 11:36
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.
11 oct. 2005 à 17:29
11 oct. 2005 à 17:11
11 oct. 2005 à 17:07
11 oct. 2005 à 14:59
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!!
29 mai 2005 à 01:04
oui, comme pour le code 39,: dans une pharmacie !!!!
et ça fonctionne à la perfection
28 mai 2005 à 20:40
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
28 mai 2005 à 08:35
idem que pour l'autre source, 9/10 c'est pas mal ;-)