Leer códigos QR usando Node.js

Cuando trabajamos con Node.js para crear cualquier aplicación, es posible que queramos que nuestras aplicaciones interactúen con aplicaciones externas o pasarelas de pago que proporcionen códigos QR para comunicar la información. En este artículo veremos cómo podemos decodificar un código QR en nuestras aplicaciones de node.js. 

Configuremos nuestro espacio de trabajo ejecutando estos comandos:

Creando directorio:

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

Instalando paquetes:

Necesitamos instalar un paquete npm para poder trabajar con anticipación.

Para trabajar con el lector de qrcode, también necesitamos un analizador de imágenes. El módulo Jimp se utiliza para el análisis de imágenes.

npm install qrcode-reader jimp

Supongamos que tenemos una imagen de un código QR en el mismo directorio que nuestro código fuente. Necesitamos los datos incrustados en la imagen.

  • Primero importa todos los paquetes en app.js
var Jimp = require("jimp");
var fs = require('fs')
var QrCode = require('qrcode-reader');
  • Ahora necesitamos cargar nuestro código QR:
// Read the image and create a buffer  
// (Here image.png is our QR code)
var buffer = fs.readFileSync(__dirname + '/image.png');
  • Analice la imagen usando el módulo Jimp y use el método decode() del paquete qrcode-reader:
// Parse the image  
Jimp.read(buffer, function(err, image) {
   if (err) {
       console.error(err);
   }
   let qrcode = new qrCode();
   qrcode.callback = function(err, value) {
       if (err) {
           console.error(err);
       }
       console.log(value.result);
   };
   qrcode.decode(image.bitmap);
});

Aquí podemos leer los datos que están en formato de string.

Índice.js

Javascript

//Importing jimp module
var Jimp = require("jimp");
// Importing filesystem module
var fs = require('fs')
// Importing qrcode-reader module
var qrCode = require('qrcode-reader');
 
// Read the image and create a buffer
// (Here image.png is our QR code)
var buffer = fs.readFileSync(__dirname + '/image.png');
 
// Parse the image using Jimp.read() method
Jimp.read(buffer, function(err, image) {
    if (err) {
        console.error(err);
    }
    // Creating an instance of qrcode-reader module
    let qrcode = new qrCode();
    qrcode.callback = function(err, value) {
        if (err) {
            console.error(err);
        }
        // Printing the decrypted value
        console.log(value.result);
    };
    // Decoding the QR code
    qrcode.decode(image.bitmap);
});

Ejecute el archivo index.js con el siguiente comando:
 

node index.js

Producción:

Datos resultantes 

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 *