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!!!
Cuando queremos presentar un programa hecho en java y darle un toque de profesionalidad, a veces no queremos que el clie[...]
En este post personalizaremos una tabla JTable Swing para pintar una imagen de fondo y darle un poco de estilo al e[...]
En este post dejo el código fuente de un blog en PHP desarrollado siguiendo el patrón de diseño MVC (Modelo, Vista y Con[...]
El procesamiento por lotes (batch processing) en PHP es la ejecución de tareas que implican una gran cantidad de datos u[...]
El CRC o Verificación de Redundancia Cíclica o Comprobación de redundancia cíclica es una técnica utiliz[...]
Las estructuras de control de Shell son muy parecidos a otras lenguajes de programación. Las estructuras disponibles en[...]