Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Preciso fazer uma aplicacao usando codigo de barras, pore procurei 2 libs e, usando a mesma sequencia numerica, no mesmo padrao, foram geradas barras diferentes...e como a aplicacao precisara gerar os codigos de barras, seria pra crachas, a grafica so aceita imprimir os crachas usando o corel, q tb gera codigo de barras, porem de forma diferente, eu gostaria de saber qual o codigo eh o certo...pra saber qual lib eu vou usar...vou postar uma imagem, as 2 primeiras barras sao das lib, a 3 eh do corel....na barra do core, o '5' a direita, o primeiro a direita, nao faz parte da sequencia, ele q gerou e inseriu....
barra 1 -> usei o zxing
barra 2-> usei esta lib http://nathanpdaniel.com/barcode-generator.htm
barra 3 gerada pelo corel draw X5
/applications/core/interface/imageproxy/imageproxy.php?img=http://www.adminweb.com.br/barcodes.jpg&key=c6835334d199aca297666dfbabf1973af8a1b668b65199851390d055e0615961" alt="barcodes.jpg" />
beleza...joao, eu consegui implementar o codigo de verificacao e consegui gerar duas barras iguais...
João, fiquei um pouco confuso sobre as multiplicações, na textos você diz: "Faz a multiplicação, os PARES por 3 e os IMPARES por 1" mas na hora da multiplicação você faz o contrário, qual o correto?
>
eu gostaria de saber qual o codigo eh o certo...
Todos os códigos são corretos, porém cada um no seu padrão. Existem diversos tipos de código de barras e você deve escolher um e utilizá-lo.
>
na barra do core, o '5' a direita, o primeiro a direita, nao faz parte da sequencia, ele q gerou e inseriu....
Esse código é chamado EAN-13, o '5' da direita é chamado de check digit, e calculado assim:
011555792758
1. Faz a multiplicação, os pares por 3 e os ímpares por 1:
0 * 1 = 0
1 * 3 = 3
1 * 1 = 1
5 * 3 = 15
5 * 1 = 5
5 * 3 = 15
7 * 1 = 7
9 * 3 = 27
2 * 1 = 2
7 * 3 = 21
5 * 1 = 5
8 * 3 = 24
2. Soma os resultados:
0 + 3 + 1 + 15 + 5 + 15 + 7 + 27 + 2 + 21 + 5 + 24 = 125
3. Encontre o próximo múltiplo de 10, depois do resultado da soma:
130
4. Subtraia o resultado da soma do múltiplo de 10:
130 - 125 = 5
5. Adicione o check digit ao fim da sequência:
0115557927585
<?php
$num = '011555792758'; //seu código
$sum = 0;
for ( $i = 0 , $t = strlen( $num ) ; $i < $t ; ++$i ) {