[download id=”265″]
O JSBarcode é uma biblioteca JavaScript que permite montar em segundos um gerador de código de barras que é versátil e bonito. O código fonte é leve (menos de 50KB), podendo ser utilizado com o mínimo de impacto na aplicação web. Além disso ele permite a customização de diversas propriedades, tais como dimensões, margem e tipo de código de barras.
Exemplo Básico
A implementação dele é simples, basta baixar o código fonte ou fazer o link direto com o site da CDN, criar uma TAG <SVG>, chamar a função JsBarcode(elemento, valor) e pronto. Veja o Exemplo abaixo:
<html> <head> <script src="https://cdn.jsdelivr.net/jsbarcode/3.6.0/JsBarcode.all.min.js"></script> <script> function GerarCódigoDeBarras(elementoInput){ /*A função JsBarcode não aceita string vazia*/ if(!elementoInput.value){ elementoInput.value = 0; } JsBarcode('#codBarras', elementoInput.value); } </script> </head> <body> <div> <label>Digite um valor</label> <input type="text" onblur="GerarCódigoDeBarras(this)"/> </div> <svg id="codBarras"></svg> </body> </html>
[download id=”268″]
Como você pode ver o código é simples e a chamada também. Caso seu item não tenha Id do svg, é possível seleciona-lo também pela classe, pelo nome da tag ou pelo elemento, mas lembrando que mais itens poderão ser alterados com essa seleção.
Exemplo com opções
Conforme já mencionado anteriormente, é possível editar as configurações do código de barras, para isso basta passarmos um parâmetro adicional na hora de chamar a função JsBarcode. Veja o exemplo:
<html> <head> <script src="https://cdn.jsdelivr.net/jsbarcode/3.6.0/JsBarcode.all.min.js"></script> <script> function GerarCódigoDeBarras(elementoInput) { let configuracao = { format: "pharmacode", lineColor: "#0aa", width: 4, height: 40, displayValue: false, valid: function (valido) { if (valido) { document.getElementById("mensagem").innerHTML = ""; } else { document.getElementById("mensagem").innerHTML = "Valor invalido"; } } }; JsBarcode('#codBarras', elementoInput.value, configuracao); } </script> </head> <body> <div> <label>Digite um valor</label> <input type="text" onblur="GerarCódigoDeBarras(this)" /> </div> <svg id="codBarras"></svg> <p id="mensagem"></p> </body> </html>
[download id=”271″]
Segue abaixo as opções que podem ser configuradas com seus respectivos tipos e valores. Para mais detalhes, acesse o link deles noGithub que além da definição completa de cada um, também oferece exemplos.
Opção | Valor Default | Tipo |
format | “auto” (CODE128) | String |
width | 2 | Number |
height | 100 | Number |
displayValue | true | Boolean |
text | undefined | String |
fontOptions | “” | String |
font | “monospace” | String |
textAlign | “center” | String |
textPosition | “bottom” | String |
textMargin | 2 | Number |
fontSize | 20 | Number |
background | “#ffffff” | String (CSS color) |
lineColor | “#000000” | String (CSS color) |
margin | 10 | Number |
marginTop | undefined | Number |
marginBottom | undefined | Number |
marginLeft | undefined | Number |
marginRight | undefined | Number |
flat | false | Boolean |
valid | function(valid){} | Function |
Exemplo com as opções definidas no HTML
O último exemplo seta os valores das opções dentro da própria tag HTML, permitindo que os atributos sejam definidos de forma explicita nas tags e fornecendo uma forma alternativa de carregar os códigos de barra.
<html> <head> <script src="https://cdn.jsdelivr.net/jsbarcode/3.6.0/JsBarcode.all.min.js"></script> <script> window.onload = function () { JsBarcode(".barcode").init(); } </script> </head> <body> <svg class="barcode" jsbarcode-format="upc" jsbarcode-value="123456789012" jsbarcode-textmargin="0" jsbarcode-fontoptions="bold"> </svg> </body> </html>
[download id=”274″]
Conclusão
Essa foi uma abordagem prática no uso do JsBarcode que mostra como é fácil utilizar a biblioteca. Apesar de ser uma ferramenta útil, foi observado também que o programador precisa ter conhecimento das validações de cada tipo de código pois em alguns casos a função JsBarcode simplesmente irá jogar uma exceção ou não renderizará, isso precisará ser tratado de acordo com cada caso e utilizando a função valid que nas opções. Para mais informações acesse o site fornecido abaixo.
Show de bola…deixa eu perguntar…tenho o necessidade de gerar isso sem o TEXTO abaixo do codigo..nao achei nos parametros e tentei por exemplo TEXT=none …mas nao deu certo…tem alguma maneira que consiga isso ?
Olá, sim é bem tranquilo. Aproveitando o exemplo do post, você poderia adicionar a propriedade:
— jsbarcode-displayValue=”false” —
na tag SVG. Com isso você deveria ter apenas o código sem o valor.
Oi, como faço para colocar o código direto em um modal?
Já tentei de várias formas mas nunca carrega o código para o modal. =(
Agradeço se puder ajudar.