Código de barras com java

40 respostas
A

Assunto: Utilizando o padrão “Interleaved 2 of 5” como exemplo, aprenda aqui como renderizar códigos de barra com o java.

Você pode ler este tutorial na íntegra http://www.guj.com.br/java.tutorial.artigo.34.1.guj

Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!

40 Respostas

A

Acho que, além de interessante, iremos contruir uma importante fonte de referência em língua portuguesa, orientada a Java, para especificações de códigos de barras.

Parabéns pelo texto tutorial, muito interessante mesmo, e especialmente pela citação acima. Muito importante. A cultutra de um povo é o conjunto do conhecimento, em sua lingua pátria.
:slight_smile:

Abraços,
Alfredo

L

Caro Administrador. Fico contente quando pesquiso um fórum e encontro soluções como esta. Porém preciso de mais um detalhe.
Como faço para criar um método paint para seu Barcode, de maneira que possa “pintar” a imagem do código em um buffer e em seguida salvar esta imagem em formato gif.
Antecipo que já consegui o código na tela, mas preciso dele em um boleto.
já tenho o método que salva, usando o buffer de uma imagem.
Só falta o método paint para jogar esta imagem do código no buffer.
Como não tenho Frame, não posso usar o paintComponent. (Pelo menos acredito que não posso).

D

Você pode usar um objeto BufferedImage e obter deste, um objeto Graphics2D. Sendo assim, você poderá renderizar em memória e enviar esse buffer de imagem para impressão.

L

:smiley: Obrigado, já consegui solucionar o problema.

F

Primeiramente gostaria de parabenizar este tutorial, pois é um assunto interessante e sem muitos recursos deste tipo disponibilizados na net.
Estou tentando implementar uma geração de boleto via web e gostaria de saber como poderia fazer uso deste recurso disponibilizado por vcs.
Qual método eu chamaria, passando qual parâmetro e qual seria o retorno para eu enviar para a JSP ?? :roll: Obrigado antecipadamente pela ajuda. :smiley:

T

Quando você usa JSP, em vez de desenhar um bitmap, é melhor e mais eficiente gerar uma tabela HTML contendo quatro tipos diferentes de GIFs ou PNGs: uma barra estreita preta, uma barra estreita branca, uma barra larga preta e uma barra larga branca. (A altura dessas barras pode ser de 1 pixel, e você só precisa ajustar no HTML). Não é preciso desenhar o bitmap. Experimente ver em vários sites que geram boletos o fonte HTML que aparece, normalmente é sempre assim. Dessa forma vocè só precisa de saber qual a definição do padrão 2 de 5.

J

Blz… O tutorial é exelente e de fácil compreenção, fiquei muito feliz de ter encontrado algo tão bom, já que estou à procura por esse assunto ha muito tempo na internet, porém a solução pro meu problema é um pouco diferente(creio eu), preciso gerer boletos bancários em PDF com o uso do JasperReport e infelismente não estou tendo sucesso por isso peço a sua ajuda, vc sabe ou tem algum material que possa me ajudar? Oh vou tentar explicar bem meu caso: estou trabalhando em um sistema onde uso JSP, STRUTS e JAVA, para este já gerei muitos relatórios usando o JasperReport e tudo correu bem até eu ter que usar uma propriedade do JasperReport chamada “Barcode toll” que já nos mostra as barraspara r nos boletos bancários , logo o meu problema está na passagem do parametro(codNumber, no caso do tutorial) das minha classe java para o JasperReport e então vc tem alguma sugestão? Se há alguma coisa que não ficou claro, por favor me responda para que eu tente esclarecer melhor meu problema OK :?: De qualque forma, muito Obrigado…

Jefferson Chaves.

J

Olá!
Parece que cheguei mto tarde para buscar este tutorial.
Alguem ainda o tem disponível???
Por favor…

vlw

I

Parece que cheguei mto tarde para buscar este tutorial.
Alguem ainda o tem disponível???

Vc não chegou tarde… é que tivemos problemas devido ao “crash” da semana passada.Em poucos dias eles serão reeindexados e estarão plenamente disponíveis…

D

Pessoal, sou novo aqui no Fórum e trabalho com Oracle, gostaria de saber se posso implementar essa classe Java dentro do banco Oracle e depois utilizá-la nas ferramentas de Desenvolvimento da oracle (Forms e Reports) alguém pode me ajudar com esse exemplo por favor??

grato da compreensão de todos


Júnior Deathão

J

Gostaria de como os outros, acima, parabenizar o tutorial. Muito explicativo e didático também. Porém eu ainda fiquei com algumas dúvidas… Umas delas é: lá no tutorial dá ênfase a eu “ler um código”(número) e desenhar a barra, mas se eu já tiver a barra e for receber de um leitor ótico esse código, como eu trato!? Aí está o meu “impasse”. Eu tenho que desenvolver um sistema de estoque que tenho que passar os códigos como se fosse numc aixa de um supermercado!! Eae? você(s) tem alguma sugestão pra me ajudar? Muito grata, valeu, galera!

J

POr favor, alguém me responda o mais rápido possível!

Obrigada! :*

G

Muito bom o artigo, Parabéns…

Mas eu to precisando de ajuda no seguinte tópico…

Como faço para transformar este código do tipo 2/5 em um código que com alfanumérico?

Tipo o código 128 ou 39.

Grato.

W

também to precisando de um código de barras no padrão 128…

ao menos a lógica de criação e funcionamento.

Valeu!!!

G

gostaria de saber se esse código é o mesmo código para indentificar produtos comerciais tipo produtos alimenticios

V

ola amigos queria saber como que eu faço para jogar o codigo de barras na impresso

Grato

K

Otimo post Otimo material Otima comunidade, se algueim tiver algum esquema de montagem de codigo de barra fico agradecido tambem!

F

Os caras saem escrevendo sem nem ver o tutorial…

M

alguem tem algum exemplo de codigo de barras?

C

Realmente bom… parabens!

P

Num micro PDV, normalmente o “sisteminha” ao qual o leitor de código de barras está conectado roda localmente, todo o processamento é local, o BD é local etc.

Tem como implementar um micro PDV, com o leitor “atachado” nele mas o sistema estar em um servidor? Tipo, o micro lá da “frente de loja” seria só mesmo para “apontar o leitor de código de barras no produto”, mas toda a “lógica da coisa” rodaria no servidor…)

É possível isso? Alguém já testou? :roll:

S

Oi pessoal desculpem a minha ignorancia, mas vou fazer a minha pergunta:

Em um codigo de barras cada linha ou barra representa um numero correto???
Então existem 10 tamanhos de barras correto???
Se isso for verdade como eu faço para criar apenas essas barras???
tipo:
uma barra para 0
uma barra para 1
uma barra para 2
uma barra para 3
uma barra para 4
uma barra para 5
uma barra para 6
uma barra para 7
uma barra para 8
uma barra para 9

Da pra fazer isso alguem tem alguma ideia.
Que objeto eu usaria para criar essas barras???

K

Olá a todos.

Sou iniciante em java e estou desenvolvendo uma aplicação comercial desktop.

Gostei bastante do tutorial sobre Código de barras com java, porém no tutorial fala do material disponível para download.

Mas não estou conseguindo achar o link para baixar.

Vocês poderiam me ajudar.

Atenciosamente

Kelvin!!!

J

Tu falou que tinha os arquivos para download do tutorial…
Mas não achei os links, poderia informar o caminho?!

U

Muito bom mesmo!
mais poderia disponibilizar os fontes por favor!?

vlw

T

Estou respondendo um pouco atrasado.

samea:
Oi pessoal desculpem a minha ignorancia, mas vou fazer a minha pergunta:

Em um codigo de barras cada linha ou barra representa um numero correto???


Não; depende muito do código usado. Muitas vezes é necessário usar 2 ou 3 barras para representar um número.

Não; isso depende do código. Um código simples, como o 2 de 5, tem 2 tamanhos de barras. A largura das barras pretas, assim como a largura das barras brancas, tem significado.

O meio mais fácil, como foi mencionado, é usar algumas fontes especiais.

U

UMC:
Muito bom mesmo!
mais poderia disponibilizar os fontes por favor!?

vlw


Ninguém tem?

vlw

P

Pow vei…
Esse forum tá ficando cada vez + completo!
=)

L

http://www.dafont.com/3of9-barcode.font ?

D

Alguem conseguiu fazer o código “rodar”?
Não consegui achar o pacote jar mencionado no turorial.
Como faço para imprimir as barras???
Eu preciso criar um método "public static void main(String args[])???
Espero respostas.
Vlw

D

aeeeeeeeeew
Consegui!!!
Vlw galera. Consegui de outro jeito.
:smiley:

T

Posta aí então o código e como tu coneguiu djoww!!!
hahaha

Abraço!!

C

É, posta aí como você conseguiu, cara. [=

D

[b]Estou usando o Eclipse e o iReport 3.7.1 para gerar o relatório.

Criei duas classes. A primeira é CodigoBarra. Ela  a matrícula e a inscrição, além de colocar a data atual no meu código de barras.[/b]

package teste;

import net.sf.jasperreports.engine.*;

import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

import net.sf.jasperreports.view.JasperViewer;
import java.text.SimpleDateFormat;

import java.util.ArrayList;

import java.util.Date;

import java.util.HashMap;

import java.util.Scanner;

public class CodigoBarra {

public static void main(String args[]) throws JRException{
	
	ArrayList<TesteBean> l = new ArrayList<TesteBean>();
	TesteBean mat = new TesteBean();
	
	Scanner input = new Scanner(System.in);
	
	System.out.println("Informe matricula:");
	mat.setMatricula(input.nextLine());
	
	System.out.println("Informe inscrição:");
	mat.setInscricao(input.nextLine());
	
	mat.setData(gerarDataFormatada());
	
	l.add(mat);
	

	JRBeanCollectionDataSource jrds = new JRBeanCollectionDataSource(l);

	
	JasperPrint jasperPrint = JasperFillManager.fillReport("Barras2.jasper", new HashMap(), jrds);   
	  
	JasperViewer viewer = new JasperViewer(jasperPrint, true); 
   
	viewer.setVisible(true); 
	JasperExportManager.exportReportToPdfFile(jasperPrint, "CódigodeBarras.pdf");  

}

private static String gerarDataFormatada() {
	Date data = new Date();
	String formato = "dd/MM/yy"; 
	SimpleDateFormat formatter = new SimpleDateFormat(formato);
	String dat = formatter.format(data);
	return dat;
}

}

A segunda classe possui os métodos. Chamei de TesteBean

package teste;

import java.text.SimpleDateFormat;

import java.util.Date;

import java.util.IllegalFormatException;
public class TesteBean {

private String matricula;

private String inscricao;

private String data;
public String getData() {

return data;

}
public void setData(String data) {
	this.data = data;
}
public String getMatricula() {

return matricula;

}

public void setMatricula(String matricula) {

if ((matricula .length() == 0) || ((matricula.length() % 2) != 0))
	{this.matricula = "0" + matricula;}
		
		else
				this.matricula = matricula;
}
public int length() {

return matricula.length();

}
public String getInscricao(){

return inscricao;

}
public void setInscricao(String inscricao){

this.inscricao = inscricao;

}

}

Usei apenas estas duas classes. Estou usando o barbecue para gerar as barras no padrão intercalado 2 de 5.
Vlw

J

ola galera sou novo aki no forum acho que minha duvida e simples.

estou desenvouvendo uma aplicação WEb com o MyFaces mas infelismente não consigo rodar a aplicação acho que não comfigurei o arquivo web.xml
corretamente se auguem tiver uma dica agradeço des de já. Vlw

A

A Solução foi ótima!!!
Alguém tem os fontes?
Disponibiliza ae…
Obrigado!

O

No final do artigo, tem um link para uma página que não existe mais. A página atual é ‘http://www.adams1.com/info.html’. Administrador, vc pode arrumar? O arquivo barcode2d-fontes.jar, barcode2d.jar e o exemplo BarCodeSample.java não estão disponíveis para download.

Administrador:
Assunto: Utilizando o padrão “Interleaved 2 of 5” como exemplo, aprenda aqui como renderizar códigos de barra com o java.

Você pode ler este tutorial na íntegra http://www.guj.com.br/java.tutorial.artigo.34.1.guj

Por favor, coloque as suas dúvidas e seus comentários sobre este tutorial aqui.
Sinta-se livre para fazer qualquer tipo de pergunta, desta maneira você estará nos ajudando e aos outros usuários!

E

Boa tarde pessoal, gostaria de mostrar o codigo de barras na tela de cadastro de produto, existe algum componente no eclipse que permita isso? ou somente possa imprimir como relatório?

desde de ja obrigado!

S

Alguém teria os fontes para passar? Esta forma de gerar corigo de barras é muito interessante pois não ficamos preso a uma biblioteca, assim este código pode ser ajustado para ser usado por exemplo em uma aplicação móvel, hoje em aplicações web ou desktop temos JbarCode, ou Ireport para gerar os codigos de barras de forma simples e rápido, mas no ambiente móvel vc não tem, e quando tem uma biblioteca que faz isso ela funciona em apenas um sistema operacional o que complica.

I

Juliana,

Creio não ter entendido de forma correta a sua duvida, mais pelo que entendi vc quer ler os codigos de barras ja existentes em produtos? Bom q tipo de leitura seria essa, direta no sistema onde vc tem a entrada de dados via formulario? Se sim, todas as maquinas de ler codigo de barros é algo meio bizarro, elas leiem jogam o numero aonde o curso esta. =)

     Se não for isso explica melhor pq eu não entendi sua duvida.
Criado 16 de fevereiro de 2003
Ultima resposta 25 de jul. de 2006
Respostas 40
Participantes 35