QZXing en Velneo

Esta vez nos enfocamos en una buena librer铆a de uso empresarial. Sin duda aportar谩 gran valor en la comunidad Velneo.

QZXing es una librer铆a intermediaria entre ZXing y Qt. ZXing, abreviatura de (“Zebra Crossing”), es una librer铆a de procesamiento de im谩genes que permite leer y generar c贸digos de barras 1D y 2D. Es especialmente buena en el proceso de decodificaci贸n, no tanto en la codificaci贸n. ZXing dispone de soporte para c++, Java y Android https://github.com/zxing/zxing.

Su licencia es Apache 2.0. https://github.com/zxing/zxing/blob/master/LICENSE

image

Significa que es permisiva, pero tiene que mantener las marcas de uso. Tambi茅n recordaros que QR code est谩 licenciado por Denso Wave, inc.

Por otro lado, QZXing es la librer铆a intermediara entre Qt y ZXing, convirti茅ndose en la librer铆a m谩s importante en codificaci贸n/decodificaci贸n de c贸digos de barras en Qt https://github.com/ftylitak/qzxing. Su licencia tambi茅n es Apache 2.0 https://github.com/ftylitak/qzxing/blob/master/LICENSE.

QZXing, en teor铆a, dispone de soporte para QML (https://github.com/ftylitak/qzxing), pero lo cierto es que hemos tenido que desarrollar un plugin para que funcione correctamente en Velneo. El c贸digo fuente del plugin lo podr谩s encontrar al final del art铆culo, dentro del fichero comprimido del c贸digo fuente, en la carpeta QZXing-master\examples\QMLZXing. De momento solo la hemos probado sobre Win32, por lo que desconocemos como se comportar谩 sobre otras plataformas.

image

QZXing soporta decodificaci贸n de c贸digos de barra de los siguientes tipos:

  • UPC-A
  • UPC-E
  • EAN-8
  • EAN-13
  • ITF
  • Code 39
  • Code 93
  • Code 128 (GS1)
  • Codabar
  • QR Code
  • Data Matrix
  • Aztec (beta)
  • PDF 417

Tambi茅n soporta codificaci贸n de tipo:

  • QR Code

 

V茅ase el siguiente ejemplo de como usar el decodificador desde QML:

import QZXing 2.3

function decode(preview) {
	imageToDecode.source = preview
	decoder.decodeImageQML(imageToDecode);
}

Image {
	id:imageToDecode
}

QZXing{
	id: decoder
	enabledDecoders: QZXing.DecoderFormat_QR_CODE
	onDecodingStarted: console.log("Decoding of image started...")
	onTagFound: console.log("Barcode data: " + tag)
	onDecodingFinished: console.log("Decoding finished " + (succeeded==true ? "successfully" : "unsuccessfully"))
}

Para la codificaci贸n de un c贸digo Qr usamos un proveedor de im谩genes que se registra al iniciar le plugin. V茅ase el siguiente ejemplo de como usar el codificador de c贸digos Qr desde QML:

import QZXing 2.3

TextField {
	id: inputField
	text: "Hello world!"
}

Image{
	source: "image://QZXing/encode/" + inputField.text;
	cache: false;
}

 

Como pod茅is apreciar es relativamente sencillo de usar. Pero no os enga帽茅is, es realmente poderoso.

 

Ejemplos de uso de QZXing en Velneo

En la zona de descargas, podr谩s encontrar un fichero VIN con cuatro los ejemplos funcionales. Trabajo ha costado conseguir que todos ellos funcionen correctamente, algunos de ellos los hemos tenido que revisar y corregir de forma profunda ya que no eran funcionales en primera instancia.

image

Lector de c贸digos desde im谩genes con soporte Drag N Drop. Permite leer las im谩genes mediante Drag N Drop dentro de velneo y obtener el Tag que se encuentre en ellas. Soporta todos los Decorders que veis en la captura.

image

Lector en vivo de etiquetas Qr. Es una implementaci贸n que permite leer c贸digos Qr en vivo. Acerca uno a tu webcam y ver谩s como funciona.

image

Codificaci贸n de c贸digos Qr. Como pod茅is apreciar, es relativamente sencillo, el problema es que solo soporta c贸digos Qr.

image

Lector de c贸digos bajo demanda. Poco que decir鈥 acercas el c贸digo a leer, pulsas en Decode y obtendr谩s un cuadro de dialogo con el c贸digo le铆do.

image

Descargas

Como pod茅is apreciar, funcionalmente es una gran librer铆a. Os dejamos disponible todo lo necesario para que pod谩is disfrutar de ella en Velneo 7.22.1.

Descargar c贸digo fuente del plugin QML de QZXing para v7.22.1Descargar c贸digo fuente

 

Recuerda que esta librer铆a tendr谩s que compilarla para la versi贸n adecuada de tu vClient. Para facilitarte el trabajo, hemos empaquetado la versi贸n para Windows x32 en un descargable. Solo tienes que copiar el contenido dentro de la carpeta Velneo (donde est谩 ubicado el ejecutable del vClient.exe). Aseg煤rate de que el plugin queda dentro de la carpeta qml del directorio de instalaci贸n de Velneo.

Descargar Plugin QML para Velneo v7.22.1Requiere estar registrado

 

Tambi茅n os damos acceso al VIN de todos los ejemplos funcinando en Velneo V7

Descargar VIN con los ejemplos de QZXing para Velneo v7.22.1Requiere estar registrado

 

Con un poquito de trabajo podr谩s integrarla en tus desarrollos para conseguir grandes mejoras en tus aplicaciones Velneo. Pero, ante todo, no se te olvide respetar la licencia Apache 2.0.