Bonjour,
je développe un site web pour mon école;
j'utilise ce code source pour générer de code à barre EAN13
<html>
<head>
<title>Code barre EAN13</title>
<STYLE type="text/css">
.n0 {background-color:#ffffff;height:40px;width:1px;float:left;}
.n1 {background-color:#000000;height:40px;width:1px;float:left;}
.l1 {background-color:#000000;height:50px;width:1px;float:left;}
.nombre {position:absolute;font-size:14px;font-family:times new roman}
.nombre1 {position:relative;font-size:14px;font-family:times new roman;float:left;top:40px;}
.barreCode {position:absolute;top:50px;left:50px;}
</STYLE>
<script type="text/javascript">
var bitsCode = new Array(10);
bitsCode[0] = new Array('0001101','0100111','1110010','000000');
bitsCode[1] = new Array('0011001','0110011','1100110','001011');
bitsCode[2] = new Array('0010011','0011011','1101100','001101');
bitsCode[3] = new Array('0111101','0100001','1000010','001110');
bitsCode[4] = new Array('0100011','0011101','1011100','010011');
bitsCode[5] = new Array('0110001','0111001','1001110','011001');
bitsCode[6] = new Array('0101111','0000101','1010000','011100');
bitsCode[7] = new Array('0111011','0010001','1000100','010101');
bitsCode[8] = new Array('0110111','0001001','1001000','010110');
bitsCode[9] = new Array('0001011','0010111','1110100','011010');
function EAN13() {
cb = document.form.codeBarre.value;
if (isNaN(cb)||cb.length!=12) {alert("Un nombre de 12 chiffres seulement");return false;}
divEAN = document.getElementById("EAN13CODE");
divEAN.innerHTML="";
codes = new Array();
for (var i=a=b=0;i<12;i++) {
codes[i] = eval(cb.charAt(i));
if (i%2)
b+=codes[i];
else
a+=codes[i];
}
reste = (a+(b*3))%10;
codes[12] = 10-(reste==0?10:reste);
var bits = getBits(codes);
bit = bits.split("");
el = document.createElement("div");
el.innerHTML= cb.charAt(0);
el.className = "nombre1";
divEAN.appendChild(el);
for (var i=0;i<bit.length;i++) {
el = document.createElement("div");
longue =( i==0||i==2||i==46||i==48||i==92||i==94);
el.className = (longue?'l':'n')+bit[i];
divEAN.appendChild(el);
if (i==3||i==50) {
el2 = document.createElement("div");
el2.innerHTML=(i==3)?cb.substr(1,6):cb.substr(7,6)+codes[12];
el2.className = "nombre";
el2.style.left = el.offsetLeft+"px";
el2.style.top = el.offsetHeight+"px";
divEAN.appendChild(el2);
}
}
}
function getBits(codes) {
var bits = "101";
var cle = bitsCode[codes[0]][3].split("");
for (var i=1;i<7;i++)
bits += bitsCode[codes[i]][cle[i-1]];
bits += "01010";
for (var i=7;i<13;i++)
bits += bitsCode[codes[i]][2];
bits += "101";
return (bits);
}
</script>
</head>
<body>
<form name="form">
Code EAN13 (12 premier chiffres): <input name="codeBarre" type="text" maxlength="12" value="">
<input type="button" value="Produire le code barre" onclick="EAN13()">
</form>
<div class="barreCode" id="EAN13CODE"></div>
</body>
</html>
et j'utilse ce code pour lire un code à barre à partir d'un stylo optique
<html>
<body>
<input name="scan0" tabindex="1" type="text" class="Champtexte" id="scan0" size="18" maxlength="18" onKeyUp="if(this.value.length !=0) this.form.elements['scan0'].focus();" onChange="checkCodeBarre(this.value,'1')" />
</body>
Mon problème est:
- Comment je peux imprimer des codes générés dans des étiquettes?
- comment je peux consulter ma base pour faire la correspondance entre le numéro et le nom?
Partager