Ahora toca crear un codigo QR usando el lenguaje Java.
Para crear un codigo QR en Java vamos a usar una libreria de terceros.
Lo primero que vamos a hacer es crear un proyecto en java en el NetBeans.
Para agregar la libreria en el Netbeans vamos a buscar el archivo pom.xml del proyecto y vamos a agregar la siguiente dependencia.
<dependencies> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.0</version> </dependency> </dependencies>
Con eso se va a descargar la dependencia com.google.zxing que es un conjunto de libbrerias para crear codigos de barra y QR con java, aunque hay implementaciones con otros lenguajes.
Codigo en Java
Ahora vamos a la implementacion de para crear los codigos QR.
Lo primero, agregar todos los imports necesarios.
import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.MultiFormatWriter; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map;
Ahora en la clase Main de nuestro proyecto vamos a crear una funcion llamada generateQRcode y dentro de la funcion main se va a llamar a la funcion.
public static void main(String[] args) throws WriterException, IOException { System.out.println("Creando Qr con Java!"); // String que se va a agregar en el codigo QR String str= "https://evilnapsis.com"; //Ruta donde se guardara el archivo String path = "MyQrExample.png"; // Tipo de codificacion String charset = "UTF-8"; Map<EncodeHintType, ErrorCorrectionLevel> hashMap = new HashMap<EncodeHintType, ErrorCorrectionLevel>(); hashMap.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.L); // Funcion para generar el codigo QR que creamos mas abajo generateQRcode(str, path, charset, hashMap, 200, 200); // Se genera el codigo QR de 200x200 px System.out.println("Codigo QR creado exitosamente."); } public static void generateQRcode(String data, String path, String charset, Map map, int h, int w) throws WriterException, IOException { // La clase BitMatrix representa una matriz de 2D BitMatrix matrix = new MultiFormatWriter().encode(new String(data.getBytes(charset), charset), BarcodeFormat.QR_CODE, w, h); MatrixToImageWriter.writeToFile(matrix, path.substring(path.lastIndexOf('.') + 1), new File(path)); }
Y una vez que ejecutamos el script se va a generar el codigo QR con el nombre de archivo que le pusimos y el contenido que agregamos.
Y listo.