javascript

Generar códigos QR con JavaScript

En este post de programación web te voy a mostrar cómo generar códigos QR desde JS o JavaScript para que puedas generar un QR desde la web.

Vamos a usar una librería de terceros; verás que es muy simple crear códigos QR y tal vez esto te anime para crear tu propio generador.

Te aviso que vamos a usar JavaScript puro, así que puedes portar este código para frameworks como Angular, React o Vue.

Importando librería

Usaremos la librería QRious traída por el usuario neocotic de GitHub. En su página dice cómo incluirla, pero igualmente te lo dejo aquí. Básicamente puedes importar la última versión desde:

https://unpkg.com/qrious

Pero si quieres usar una versión fija (la cual usaré para el ejemplo, y en este momento es la 4.0.2) entonces puedes usar el siguiente enlace:

https://unpkg.com/qrious@4.0.2/dist/qrious.js

Y puedes cargar el script de JavaScript desde esa URL o descargarlo e importarlo de manera local, al final es tu decisión. Yo lo he hecho así:

See the gist on github.

El elemento para el código QR

Vamos a usar JavaScript del lado del cliente junto con HTML para generar el código QR. Para esto necesitamos un contenedor, un elemento en donde será montado el código. Yo te recomiendo un elemento img.

En mi caso tiene el id codigo y se ve así:

<img alt="Código QR" id="codigo">

Creando primer QR

Hasta este punto ya definimos el contenedor y ya importamos la librería que nos permitirá crear el código QR. Es momento de crear una nueva instancia de QRious pasándole el elemento y las opciones.

Primero te muestro el código y a continuación analizamos las propiedades:

See the gist on github.

El element es el elemento en donde el QR será dibujado. En este caso lo estoy recuperando con document.querySelector pero puedes usar getElementById o funciones similares.

Por otro lado en value estamos especificando el contenido del código QR, que puede ser una URL, un ID, un texto, etcétera. Luego en size especificamos el tamaño en pixeles.

Aquí viene algo importante y es el backgroundAlpha, mismo que permite hacer el fondo transparente. A mí me gusta que sea transparente, así que lo he dejado en 0.

Luego tenemos el foreground que es el color del código QR. Normalmente son color negro pero yo lo he colocado en color verde para demostrar la propiedad.

Finalmente el level es el nivel de corrección: entre mayor sea, mejor; pero también es más pesado.

Poniendo todo junto

Generar código QR con JavaScript

El código completo queda así:

See the gist on github.

Descargar imagen de código QR

Código QR con HTML y JS – Descargar como imagen

Si bien la imagen ya se puede descargar, podemos hacer la vida del usuario más fácil colocando un botón para descargar el código QR que acabamos de generar con HTML y JavaScript.

En este caso modificamos el HTML y el script:

See the gist on github.

Para descargar la imagen estoy aplicando un truco muy parecido al que utilizo para descargar un canvas. Te dejo la demostración de la generación del QR por aquí, y el código completo aquí.

Recuerda que en el GitHub del autor de la librería vas a encontrar más detalles importantes. Por otro lado, si te gusta JavaScript te invito a explorar más contenido en mi blog.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

4 días hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

4 días hace

PHP: incrustar imagen en base64

El día de hoy te enseñaré algo muy sencillo pero útil al programar con PHP:…

4 días hace

Plugin ESC POS – Actualización 3.4.0: imprimir HTML

El plugin para imprimir en impresoras térmicas alcanza hoy su versión 3.4.0 agregando soporte para…

6 días hace

JavaScript (lado del cliente): leer pixeles de imagen

En ocasiones es necesario leer los pixeles y colores de una imagen con JavaScript del…

2 semanas hace

PHP y JavaScript: llenar select con AJAX

Siguiendo con los tutoriales de listas desplegables o select con JavaScript, vamos a ver cómo…

2 semanas hace

Esta web usa cookies.