quarta-feira, 14 de outubro de 2009
Como gerar códigos de barras com java
Olá a todos novamente!
Estou aqui para apresentar um post bastante interessante, sobre como gerar códigos de barras com java.
Inicialmente para fazer isso, nós precisaremos da biblioteca "barbecue.jar".
A Barbecue é uma biblioteca java open-source que fornece meios para criar códigos de barras para impressão e visualização em suas aplicações.
Vocês poderão encontrar a documentação dessa biblioteca em:
http://barbecue.sourceforge.net/apidocs
Assim como efetuar o download.
Inicialmente nós deveremos possuir o arquivo barbecue.jar e inseri-lo dentro do nosso projeto.
Feito isto nós já temos a possibilidade de utilizar as várias opções que esta maravilhosa biblioteca nos disponibiliza.
O código que mostrarei logo abaixo terá como função gerar um código de barras e salva-lo como uma imagem no diretório raiz do computador.
public void GeraCodigoBarras(String value) {
try {
01. net.sourceforge.barbecue.Barcode barcode = BarcodeFactory.createCode128(value);
02. barcode.setDrawingText(false);
03. BufferedImage image = new BufferedImage(100, 150,BufferedImage.TYPE_BYTE_GRAY);
04. Graphics2D g = (Graphics2D) image.getGraphics();
05. g.setBackground(Color.BLUE);
06. barcode.draw(g, 10, 56);
07. File f = new File("c:/barras.jpg");
08. File f1 = new File("c:/barras.png");
09. File f2 = new File("c:/barras.png");
10. BarcodeImageHandler.saveJPEG(barcode, f);
11. BarcodeImageHandler.savePNG(barcode, f1);
12. BarcodeImageHandler.saveGIF(barcode, f2);
} catch (Exception ex) {
ex.getMessage();
}
}
Como podem ver, o valor do código de barras é passado como parametro, sendo ele uma String.
Na linha 1 nós criamos um objeto do tipo barcode. Este objeto provem de uma classe abstrata que extende a classe JComponent do swing e implementa a interface Printable do pacote print do awt.
É aqui que nós devemos setar qual é o modelo padrão do nosso código de barras. Por default ele vem com vários modelos podendo serem inseridos novos.
No comando "BarcodeFactory.createCode128(value);" é que podemos ver isto.
Ou seja, com isso estou dizendo que eu quero que meu código de barras seja criado com o modelo 128.
Exemplos de criação com outros modelos são:
BarcodeFactory.createEAN128(value) ;
BarcodeFactory.createEAN13(value);
BarcodeFactory.create3of9(value, false);
E por aí vai(Verifiquem na documentação).
Por default quando geramos um código de barras toda a numeração dele é inserida logo abaixo da imagem.
A linha de comando número 2 é responsavel por dizer que a numeração não deverá ser impressa junto com a imagem do código. Mas aí fica a critério do desenvolvedor. Caso queiram que a numeração venha junto com a imagem, não escrevam a linha 2 ou declare-a como true.
Nas linhas 3 à 6 nós desenhamos a imagem que será salva.
Nas linhas 10,11 e 12 nós estamos salvando a imagem nos respectivos formatos que vocês podem ver.
Este método recebe num parâmetro o objeto barcode já desenhado e no outro um objeto File que mostrará o caminho para onde a imagem deverá ser salva.
Com isso caros amigos nós teremos o nosso código de barras salvo em uma imagem.
Com a classe Barcode nós também conseguimos visualizar o código de barras antes de salva-lo.
Com o método creatImage que nos retorna um objeto do tipo Image, nós conseguimos visualizar este código de barras sem que pra isso tenhamos que salva-lo em disco.
Image image= barcode.createImage(90, 10);
//Com o objeto Image em mãos podemos converte-lo em um ImageIcon e apresenta-lo em um JLabel
Bem amigos, por hoje irei ficando por aqui!
Mais uma vez espero ter ajudado!
Abraço a todos!
Assinar:
Postar comentários (Atom)
Blz. E para gerar código do tipo Data Matrix?
ResponderExcluirNão sei onde fazer o download da biblioteca em:
ResponderExcluirhttp://barbecue.sourceforge.net/apidocs