Cómo generar códigos QR con Python. Mostramos cómo generar un fichero de imagen con el código QR correspondiente al texto introducido. Explicamos cómo leer un código QR. Las aplicaciones permiten introducción de los datos por parámetro.

Códigos QR

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. 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 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, restaurantes (para acceder a su menú/carta), 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.

Requisitos para generar códigos QR con Python

Necesitaremos tener instalado Python y usaremos algún editor para generar el código fuente y compilar el programa. En el siguiente artículo explicamos cómo instalar Python y cómo instalar un IDE para desarrollo Python:

Usaremos la librería «qrcode» y «pillow» (para tratamiento de imágenes), que instalaremos con el siguiente comando:

pip install qrcode

pip install pillow

Requisitos para generar códigos QR con Python

Generar códigos QR con Python

A continuación mostramos el código fuente en Python para generar códigos QR con diferentes formatos. El código QR generado tendrá el valor que se introduzca por consola o bien que se le pase como parámetro. La aplicación Python permitirá elegir (por parámetro) el tipo de código QR generado: círculo, cuadrado, Barra_Vertical, Barra_Horizontal, redondeado, Cuadrado_Grande, así como el fichero de imagen QR y la ruta donde se creará.

El código fuente va comentado explicando las partes más importantes. Guardaremos el siguiente código fuente Python en un fichero llamado generar_qr.py:

Leer códigos QR de imagen con Python

Para leer el valor contenido en un código QR de una imagen usaremos el siguiente código fuente Python, lo guardaremos en un fichero con el nombre leer_qr.py:

Ejecutando aplicación Python que genera códigos QR

Para generar un código QR con el valor «https://www.proyectoa.com», con el formato de círculos y que se guarde el fichero de imagen qr_proyectoa.png en D:\ProyectoA_Python\QR\, ejecutaremos la aplicación Python con los siguientes parámetros:

«C:/Program Files/python.exe» d:/ProyectoA_Python/QR/generar_qr.py -d «https://www.proyectoa.com» -t «círculo» -i «D:\ProyectoA_Python\QR\qr_proyectoa.png»

((Suponemos que tenemos instalado Python en C:/Program Files/python.exe))

La aplicación se ejecutará y generará el fichero de imagen qr_proyectoa.png con el código QR:

Ejecutando aplicación Python que genera códigos QR

Lo podremos abrir con cualquier visualizador de imágenes:

Ejecutando aplicación Python que genera códigos QR

Y, usando cualquier dispositivo (como un smartphone) que lea códigos QR, nos obtendrá su valor: «https://www.proyectoa.com»:

Ejecutando aplicación Python que genera códigos QR

Ejecutando aplicación Python que lee códigos QR

Para leer el valor de un código QR contenido en la imagen qr_proyectoa.png de la carpeta D:\ProyectoA_Python\QR\, ejecutaremos la aplicación Python con los siguientes parámetros :

«C:/Program Files/python.exe» d:/ProyectoA_Python/QR/leer_qr.py -s no -f «D:\ProyectoA_Python\QR\qr_proyectoa.png»

Ejecutando aplicación Python que lee códigos QR

Nos devolverá: El valor del QR leído es: https://www.proyectoa.com

Si queremos que sólo devuelva el valor del QR (sin más mensajes), ejecutaremos:

«C:/Program Files/python.exe» d:/ProyectoA_Python/QR/leer_qr.py -s sí -f «D:\ProyectoA_Python\QR\qr_proyectoa.png»

Ejecutando aplicación Python que lee códigos QR

Descargar código fuente de script Python para leer y generar códigos QR

A continuación mostramos enlace a la descarga gratuita del código fuente Python que lee y genera códigos QR: