Generar un código QR en Node.js

En este artículo , discutiremos cómo generar un código QR usando Node.js. Un código QR es una array monocromática con datos incrustados que se utiliza en las industrias manufactureras para etiquetar los productos. Hoy en día, los códigos QR se utilizan para pagos en aplicaciones basadas en UPI, algunas aplicaciones de chat como WhatsApp y en Play Store. Estos son algunos de los ejemplos más comunes, pero podemos usar el código QR en nuestras aplicaciones para un propósito mucho mejor. Si estamos creando un sitio web utilizando MEAN/MERN Stack o cualquier tecnología relacionada con JavaScript, podemos generar códigos QR para crear aplicaciones avanzadas.

Configuremos nuestro espacio de trabajo ejecutando estos comandos:

Creando directorio:

npm init -y
mkdir src
cd src
nano app.js

Paquete de instalación: necesitamos instalar un paquete npm para poder trabajar con anticipación.

npm install qrcode

Hay dos formas en que podemos usar esta biblioteca para generar códigos QR. El primero se utiliza para el desarrollo y las pruebas. Otro se utiliza para el despliegue.

  • Vamos a crear los datos que queremos ocultar en un código QR:
let data = {
    name:"Employee Name",
    age:27,
    department:"Police",
    id:"aisuoiqu3234738jdhf100223"
}
  • Necesitamos convertir los datos a un formato de string usando el método JSON.stringify() para que las operaciones adicionales se puedan realizar fácilmente.
// Converting into String data
let stringdata = JSON.stringify(data)
  • Se utilizan dos métodos del paquete qrcode para codificar los datos. El primer método imprimirá el código en la propia terminal. Pero este método será inútil para la implementación. Pero es bueno para fines de prueba.

1. toString(texto, [opciones], [cb(error, string)])

// Print the QR code to terminal
QRCode.toString(stringdata,{type:'terminal'}, function (err, url) {
   if(err) return console.log("error occurred")
   console.log(url)
 })

2. toDataURL(texto, [opciones], [cb(error, url)])

// Get the base64 url
QRCode.toDataURL(stringdata, function (err, url) {
    if(err) return console.log("error occurred")
    console.log(url)
})

Hay un método toCanvas() adicional pero sus funcionalidades se pueden usar dentro del método toDataURL().

Índice.js

Javascript

// Require the package
const QRCode = require('qrcode')
 
// Creating the data
let data = {
    name:"Employee Name",
    age:27,
    department:"Police",
    id:"aisuoiqu3234738jdhf100223"
}
 
// Converting the data into String format
let stringdata = JSON.stringify(data)
 
// Print the QR code to terminal
QRCode.toString(stringdata,{type:'terminal'},
                    function (err, QRcode) {
 
    if(err) return console.log("error occurred")
 
    // Printing the generated code
    console.log(QRcode)
})
   
// Converting the data into base64
QRCode.toDataURL(stringdata, function (err, code) {
    if(err) return console.log("error occurred")
 
    // Printing the code
    console.log(code)
})

Ejecute el archivo index.js con el siguiente comando:

node index.js

Producción:

Publicación traducida automáticamente

Artículo escrito por mukulbindal170299 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *