Seu Curso

  • Full Screen
  • Wide Screen
  • Narrow Screen
  • Increase font size
  • Default font size
  • Decrease font size

Como imprimir QR-Codes e códigos de barras usando Java

Imprimir
Avaliação do Usuário: / 7
PiorMelhor 

Códigos de barras e seus derivados, como o QR-Code, são muito úteis em diversos tipos de projetos, portanto a ideia é mostrar um pequeno exemplo de como gera-los em uma aplicação desenvolvida em Java.

 

 

Para isso é preciso ter a biblioteca zxing adicionada ao seu projeto, você pode baixa-la aqui e tem uma cópia aqui.

 

No caso do código abaixo é gerado um QR-Code, mas com simples alterações, como por exemplo, no comando BarcodeFormat é possível gerar quase uma enorme variedade de códigos gráficos.

 

O resultado desse código é um arquivo PNG com o QR-Code no local especificado pelo atributo caminho.

 

import com.google.zxing.BarcodeFormat;
import com.google.zxing.EncodeHintType;
import com.google.zxing.WriterException;
import com.google.zxing.common.BitMatrix;
import com.google.zxing.qrcode.QRCodeWriter;
import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import java.util.Hashtable;
import javax.imageio.ImageIO;
 
/**
*
* @author Fernando Bryan Frizzarin
*/
public class Qrcode2 {
 
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
String textodoCodigo = "http://www.seucurso.com.br";
String caminho = "C:/Users/d1396/Desktop/seucurso.png";
int tam = 125;
String tipoArquivo = "png";
File myFile = new File(caminho);
try {
Hashtable hintMap = new Hashtable();
hintMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L);
QRCodeWriter qrCodeWriter = new QRCodeWriter();
BitMatrix byteMatrix = qrCodeWriter.encode(textodoCodigo,BarcodeFormat.QR_CODE, tam, tam, hintMap);
int tamanho = byteMatrix.getWidth();
BufferedImage image = new BufferedImage(tamanho, tamanho,
BufferedImage.TYPE_INT_RGB);
image.createGraphics();
 
Graphics2D graphics = (Graphics2D) image.getGraphics();
graphics.setColor(Color.WHITE);
graphics.fillRect(0, 0, tamanho, tamanho);
graphics.setColor(Color.BLACK);
 
for (int i = 0; i < tamanho; i++) {
for (int j = 0; j < tamanho; j++) {
if (byteMatrix.get(i, j)) {
graphics.fillRect(i, j, 1, 1);
}
}
}
ImageIO.write(image, tipoArquivo, myFile);
} catch (WriterException | IOException e) {
e.printStackTrace();
}
System.out.println("\nQR-Code gerado com sucesso!\n\n");
}
 
}

 

O arquivo gerado: seucurso.png

Adicionar comentário


Código de segurança
Atualizar

You are here: