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:
Publicación traducida automáticamente
Artículo escrito por mukulbindal170299 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA