Explicamos en este artículo cómo desarrollar una aplicación con Microsoft Visual Basic .Net VB.Net para generar códigos QR (Quick Response Barcode ó código de barras de respuesta rápida) usando la librería ThoughtWorks.QRCode.dll. Mostramos también cómo usar esta librería para añadir la opción de reconocer un código QR guardado (capturado en una imagen). Indicamos cómo se hizo la aplicación AjpdSoft Generador y Lector códigos QR.

Videotutorial AjpdSoft Generador y lector códigos QR en VB.NET

AjpdSoft Generador y Lector códigos QR, aplicación desarrollada en Visual Studio .NET 2010 (Visual Basic VB.NET) con código fuente incluido 100% open source totalmente gratuito. Permite generar códigos QR (Quick Response Barcode), permite guardar el código QR en fichero de imagen (PNG, BMP, GIF ó JPEG) o imprimirlo. AjpdSoft Generador y Lector códigos QR también lee o decodifica códigos QR ya generados y guardados en imagen. La aplicación permite generar códigos QR con formatos para envío de SMS, contacto en agenda, evento en calendario, geolocalización, añadir red wifi, texto libre, email, teléfono, etc.

A continuación mostramos un videotutorial donde explicamos el funcionamiento de AjpdSoft Generador y Lector códigos QR:

Código QR Quick Response Barcode o código de barras de respuesta rápida

Un código QR (Quick Response Barcode ó código de barras de respuesta rápida) es un sistema para almacenar información en una matriz de puntos o un código de barras bidimensional. Fue creado por la compañía japonesa Denso-Wave en el año 1994. Estos códigos se caracterizan por los tres cuadrados que se encuentran en las esquinas y que sirven para que los lectores de códigos QR puedan detectar su posición. Los códigos QR son muy comunes en Japón y de hecho son el código bidimensional más popular en ese país.

Aunque inicialmente se usó para registrar repuestos en el área de la fabricación de vehículos, hoy, los códigos QR se usan para administración de inventarios en una gran variedad de industrias. Recientemente, la inclusión de software que lee códigos QR en teléfonos móviles, ha permitido nuevos usos orientados al consumidor, que se manifiestan en comodidades como el dejar de tener que introducir datos de forma manual en los teléfonos. Las direcciones y las URL se están volviendo cada vez más comunes en revistas, anuncios, emplazamientos turísticos, etc. El agregado de códigos QR en tarjetas de presentación también se está haciendo común, simplificando en gran medida la tarea de introducir detalles individuales de un nuevo cliente en la agenda de un teléfono móvil.

Los códigos QR también pueden leerse desde PC o smartphone mediante dispositivos de captura de imagen, como puede ser un escáner o la cámara de fotos siempre y cuando estos dispositivos tengan algún software que permita leer los datos QR.

Ejemplo de código QR que guarda la URL de nuestro antiguo sitio web (http://www.ajpdsoft.com):

Código QR Quick Response Barcode o código de barras de respuesta rápida

Desarrollar aplicación Visual Basic .Net VB.Net para generar y leer códigos QR

Instalar Microsoft Visual Studio .Net

Instalaremos Microsoft Visual Studio .Net como indicamos en este artículo:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

Una vez instalado el IDE de desarrollo que usaremos, crearemos un nuevo proyecto. Para ello pulsaremos en el menú «Archivo» – «Nuevo proyecto» de Microsoft Visual Studio .Net:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

En «Plantillas instaladas» seleccionaremos «Visual Basic» – «Windows», en la parte derecha seleccionaremos «Aplicación de Windows Forms». Introduciremos un nombre para el nuevo proyecto, por ejemplo «AjpdSoftLectorCodigosQR». Tras introducir los datos básicos de la nueva solución pulsaremos «Aceptar»:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

Añadiremos un componente TabControl con dos fichas, en la primera coloraremos los componentes necesarios para configurar el código QR que se generará: texto que contendrá (sms, url, texto, teléfono, contacto, email, red wifi, geolocalización, evento), nivel de corrección, color de fondo, color del código, escala de los píxeles, forzar UTF-8:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

Dentro de esta ficha también colocaremos otro TabControl para añadir todos los valores para el QR que queramos generar de forma automática: SMS, URL, Texto, Teléfono, Contacto, Email, Evento, Red Wifi, Geolocalización:

  • Para el SMS:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Para la URL:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Para el Texto libre:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Para llamada a un teléfono:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Insertar contacto en agenda:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Enviar correo electrónico (email):
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Insertar evento en calendario:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Conectar a una red Wifi:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR
  • Geolocalización, abrir mapa con un punto determinado:
Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

En el TabControl principal colocaremos un segundo TabControl donde pondremos todos los componentes para la generación del QR:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

y en otra ficha colocaremos un TextBox para mostrar el texto resultante con el que se generará el QR:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

En una segunda ficha del TabControl principal colocaremos los componentes necesarios para leer un código QR ya guardado en imagen:

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

Añadiremos también dos componentes no visuales para imprimir los códigos QR generados un PrintDialog y un PrintDocument (componentes del Cuadro de herramientas, ficha «Impresión»):

Crear aplicación proyecto VB.Net y diseño AjpdSoft Generador y lector códigos QR

En la siguiente descarga publicamos el diseño y el código fuente completo de la aplicación AjpdSoft Generador y Lector códigos QR:

Librería dll, agregar referencia en VB.Net para generar y leer códigos QR con VB.Net

Para realizar un proyecto software en VB.Net que genere códigos QR y que lea códigos QR generados y previamente guardos en imagen utilizaremos una librería llamada ThoughtWorks.QRCode.dll. Dicha librería está disponible en la descarga gratuita AjpdSoft Generador y Lector códigos QR código fuente VB.Net. Una vez descargada esta librería la colocaremos en una carpeta del proyecto, a continuación agregaremos la correspondiente referencia en nuestra solución VB.Net a esta librería. Para ello accederemos al menú «Proyecto» – «Agregar referencia»:

Librería dll, agregar referencia en VB.Net para generar y leer códigos QR con VB.Net

Seleccionaremos el fichero de la librería ThoughtWorks.QRCode.dll:

Librería dll, agregar referencia en VB.Net para generar y leer códigos QR con VB.Net

En el código fuente de nuestra solución, en el fichero .vb del formulario principal añadiremos los imports correspondientes:

Imports ThoughtWorks.QRCode
Imports ThoughtWorks.QRCode.Codec
Imports ThoughtWorks.QRCode.Codec.Dat

Librería dll, agregar referencia en VB.Net para generar y leer códigos QR con VB.Net

Código fuente solución Visual Basic .Net para leer y generar códigos QR Quick Response Barcode

A continuación mostramos el listado del código fuente completo (de todos los eventos y componentes) para generar la aplicación AjpdSoft Generador y Lector códigos QR:

AjpdSoft Generador y lector códigos QR en funcionamiento

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Tras ejecutar AjpdSoft Generador y Lector códigos QR, para generar un código de barras QR pulsaremos en la pestaña «Generar QR». Podremos generar un código QR con un formato determinado para enviar un SMS, indicar una URL (dirección de página web), un texto variable (libre), para hacer una llamada a un número de teléfono, para insertar un contacto en la agenda del teléfono móvil, para enviar un correo electrónico, para insertar un evento o cita en nuestro calendario, para conectarnos a una red wifi, para acceder a un lugar. Para generar un QR con cualquiera de estos formatos pulsaremos en la pestaña apropiada, por ejemplo, para insertar una cita en el calendario del teléfono móvil pulsaremos en la ficha «Evento», introduciremos los datos (asunto, ubicación, desde, hasta, descripción) y, en la pestaña «Texto QR» podremos ir viendo el texto que se generará en el QR:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Cuando tengamos el texto introducido pulsaremos en la ficha «QR», podremos elegir el nivel de corrección (por defecto Medio 15%), el color de fondo para el QR, el color del propio QR (no deben ser el mismo ni colores muy «difuminados», de lo contrario no podrá leerse el QR), la escala del pixel (por defecto 4) y si queremos forzar UTF-8. Una vez elegidas las opciones de configuración pulsaremos en el botón «Generar QR»:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Si todo es correcto se generará el código QR en la parte inferior de AjpdSoft Generador y Lector códigos QR. Si queremos guardar el código QR generado en un fichero de imagen pulsaremos en el botón «Guardar QR»:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Seleccionaremos la carpeta y el nombre para el fichero de imagen así como el formato en el que queramos guardarlo en «Tipo»: JPEG, BMP, GIF ó PNG y pulsaremos «Guardar»:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Si queremos imprimir el código QR Quick Response Barcode en papel o en una impresora PDF pulsaremos en «Imprimir QR»:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Seleccionaremos la impresora y pulsaremos «Imprimir»:

Generar códigos QR con AjpdSoft Generador y lector códigos QR

Leer y decodificar código QR de imagen con AjpdSoft Generador y Lector códigos QR

Tras ejecutar AjpdSoft Generador y Lector códigos QR, para decodificar o leer el contenido de un código de barras QR ya generado y guardado en imagen pulsaremos en la pestaña «Leer QR «. Podremos decodificar cualquier tipo de código QR, pulsaremos en el botón de selección de fichero con código QR:

Leer y decodificar código QR de imagen con AjpdSoft Generador y Lector códigos QR

Seleccionaremos el fichero que contiene el código QR y pulsremos «Abrir»:

Leer y decodificar código QR de imagen con AjpdSoft Generador y Lector códigos QR

Se mostrará en la parte inferior, para decodificarlo pulsaremos en el botón «Leer QR»:

Leer y decodificar código QR de imagen con AjpdSoft Generador y Lector códigos QR

Si es un código QR correcto en la parte inferior, en «Texto resultante» mostrará el texto contenido y decodificado del QR seleccionado:

Leer y decodificar código QR de imagen con AjpdSoft Generador y Lector códigos QR

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

Para decodificar o leer códigos QR de carteles u otros medios impresos (incluso de pantallas de PC o televisión) con un dispositivo móvil smartphone (Android o iPhone) o Tablet PC instalaremos alguna aplicación de las existentes en el mercado. En este ejemplo usaremos un móvil smartphone Samsung Galaxy SII y un LG Optimux 2x, el procedimiento es el mismo prácticamente para cualquier móvil con Android como sistema operativo y también parecido para móviles con iOS (iPhone). Accederemos a Market (en el caso de móviles con Android) o a App Store (en el caso de iPhone con iOS), buscaremos la aplicación a instalar. En este ejemplo buscaremos QR Droid, aplicación gratutia (con publicidad) para escanear códigos QR:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

Pulsaremos en «Aceptar y descargar»:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

Se iniciará la descarga e instalación de la aplicación para escanear códigos QR desde nuestro móvil:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

Tras la instalación, pulsaremos «Abrir» para ejecutar la aplicación QR Droid:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

La aplicación para leer códigos QR en Samsung Galaxy SII nos mostrará un mensaje inicial co nel texto:

QR Droid te permite usar tu cámara para escanear un código QR de una revista y mirar un vídeo de inmediato. O crear un código de cun contacto de tu móvil, dejar que un amigo lo escanee y compartir esa información.

Pulsaremos en «Cerrar»:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

Para escaner un código QR de una revista, cartel, panfleto de publicidad, televisión, monitor de PC o desde la pantalla de otro móvil pulsaremos en la sopala «Escanear» y en «De la cámara»:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

La aplicación usará la cámara de fotos para leer el código QR. Situaremos el código QR a escanear en el centro del recuadro que se muestra en la cámara de fotos y, cuando lo detecte la aplicación, lo decodificará automáticamente:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

En el ejemplo hemos escaneado un código QR de la pantalla del PC para insetar un evento en nuestro calendario del móvil:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

En el caso de la aplicación QR Droid, detecta el tipo de código QR (según el texto que contenga) y, como en este caso es un evento o cita, nos mustra el botón «Añadir», si pulsamos podremos añadir una cita en Google Calendar de forma automática:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid

El evento o cita quedará guardado en nuestro calendario sin haber tecleado nada, todo de forma automática gracias a los códigos QR. De la misma forma podremos añadir contactos, enviar SMS, hacer una llamada, acceder a un lugar, conectarnos a una red wifi, enviar un correo electrónico, etc. usando códigos QR:

Escanear códigos QR con smartphone Samsung Galaxy SII y aplicación QR Droid