Sunday, November 27, 2011

GENERACIÓN DE CÓDIGO QR EN JAVA

Ahora que esta mucho de moda en las empresas, como en celulares, el manejo de códigos generados de un tipo similar a CÓDIGOS DE BARRAS llamados QR. En esta oportunidad mostrare una modalidad para la generación de dicha imagen con un mensaje oculto incrustado dentro de el.

Nos apoyaremos en la librería: barcode.jar:

http://www.barcodelib.com/java_barcode/download.php

El código es el siguiente:

Util_QR:

import java.awt.Desktop;
import java.io.File;
import com.barcodelib.barcode.QRCode;

/**
* @author Cesar Ricardo.
* @clase: TestQR.java
* @descripción descripción de la clase.
* @author_web: http://frameworksjava2008.blogspot.com
* http://viviendoconjavaynomoririntentandolo.blogspot.com
* @author_email: nombre del email del autor.
* @author_company: nombre de la compañía del autor.
* @fecha_de_creación: dd-mm-yyyy.
* @fecha_de_ultima_actualización: dd-mm-yyyy.
* @versión 1.0
**/
public class Util_QR{

private static int modo = QRCode.MODE_BYTE;
private static int udm = 0;
private static int resolucion = 72;
private static float margenIZQ = 0.000f;
private static float margenDER = 0.000f;
private static float margenSUP = 0.000f;
private static float margenINF = 0.000f;
private static int rotacion = 0;
private static float tamanoModulo = 5.000f;

/**
* main
* @param argumentos
**/
public static void main( String... argumentos ){

QRCode codigoQR = null;
String mensajeQR = null;
Desktop aplicacion = null;
File archivoFile = null;
String rutaSalida = null;

try{
rutaSalida = "C:\\CodigoQR.gif";
mensajeQR = " 'HOLA A TODOS'... JAVAMAN, LES DA LA BIENVENIDA A SU BLOG. AQUI PODRAN ENCONTRAR " + " MUCHA INFORMACION Y SOBRE TODO MUCHO CODIGO UTIL...!!!";

codigoQR = new QRCode();

codigoQR.setData( mensajeQR );
codigoQR.setDataMode( modo );
codigoQR.setUOM( udm );
codigoQR.setLeftMargin( margenIZQ );
codigoQR.setResolution( resolucion );
codigoQR.setRightMargin( margenDER );
codigoQR.setTopMargin( margenSUP );
codigoQR.setBottomMargin( margenINF );
codigoQR.setRotate( rotacion );
codigoQR.setModuleSize( tamanoModulo );
codigoQR.renderBarcode( rutaSalida );

archivoFile = new File( rutaSalida );
aplicacion = Desktop.getDesktop();

aplicacion.open( archivoFile );
}
catch( Exception e ){
e.printStackTrace();
}
}
}


Esto generara esta imagen en dicha ruta:



Para descargar el ejemplo completo descargarlo de:AQUÌ.