Los códigos QR del inglés Quick Response Code o código de respuesta rápida es un tipo de código para el almacenamiento de datos en una matriz de puntos; en Bolivia por lo general se usan en la Facturación Electrónica.
Dependiendo del lenguaje de programación existen varias alternativas disponibles en la web para el trabajo con códigos QR, para el lenguaje java tenemos la librería ZXing («zebra crossing») el cual es una biblioteca de procesamiento de imágenes de código de barras 1D/2D de código abierto y multiformato implementada en Java, disponible para varios lenguajes de programación.
El siguiente código java utiliza la librería ZXing para leer el código QR de una Factura
import com.google.zxing.BinaryBitmap; import com.google.zxing.MultiFormatReader; import com.google.zxing.NotFoundException; import com.google.zxing.Result; import com.google.zxing.client.j2se.BufferedImageLuminanceSource; import com.google.zxing.common.HybridBinarizer; import java.io.FileInputStream; import java.io.IOException; import javax.imageio.ImageIO; /** * see https://www.jc-mouse.net/ * @author mouse */ public class Main { public static void main(String[] args) { try { BinaryBitmap binaryBitmap = new BinaryBitmap(new HybridBinarizer( new BufferedImageLuminanceSource( ImageIO.read(new FileInputStream("E:\\factura_bolivia.png"))))); Result qrCodeResult = new MultiFormatReader().decode(binaryBitmap); System.out.println("Codigo QR: " + qrCodeResult.getText()); } catch (IOException | NotFoundException ex) { ex.printStackTrace(); } } }
La Factura (imagen PNG: factura_bolivia.png):
Y tenemos:
enjoy!!!
En este tutorial nos conectaremos a una base de datos de Firebird utilizando el lenguaje de Visual Basic, el proyecto se[...]
Semanas atrás leí un articulo en el que se pensaba implementar los emojis como contraseñas en los dispositivos con andro[...]
Los comandos (Command) en Laravel son scripts PHP que se ejecutan a través de la interfaz de línea de comandos Artisan p[...]
Cuando se crean aplicaciones android o cualquier otro tipo de software, es importante dejar información del o los desarr[...]
En muchas ocasiones es necesaria la personalización de componentes java para que estos se adecuen a nuestros requerimien[...]
La internacionalización permite a las aplicaciones adaptarse a los diferentes idiomas y regiones sin necesidad de cambio[...]