Lector de códigos de barras y QR de Node.js para escritorio y web

Lector de códigos de barras y QR de Node.js para escritorio y web

Hay muchas bibliotecas de código abierto de lectores de códigos de barras y QR en JavaScript, pero pocas de ellas son adecuadas para el uso empresarial. La razón es que no tienen una hoja de ruta para la actualización y el mantenimiento del algoritmo a largo plazo. Además, el rendimiento de JavaScript puro no es lo suficientemente bueno. WebAssembly es una mejor opción en comparación con JavaScript puro si lo que se busca es el rendimiento. Sin embargo, para la programación del lado del servidor utilizando Node.js, todavía no es el final. ¿Qué hay bajo el capó de Node.js? Es C/C++. No hay duda de que un complemento de Node.js con C++ tiene el mejor rendimiento. En este artículo, usted verá cómo utilizar Node.js código de barras y código QR addon basado en Dynamsoft C++ Barcode SDK para construir aplicaciones de escritorio y web utilizando JavaScript.


Índice de contenido

1. Instalación


2. Personalización de la API de Node.js para la lectura de códigos de barras y QR


3. Creación de un lector de códigos de barras y QR de Node.js para escritorio y web


3.1 Aplicación de escritorio Node.js


3.2 Aplicación web Node.js


Instalación

El paquete barcode4nodejs es un complemento de Node.js basado en Dynamsoft Barcode Reader. Lo utilizamos para escanear códigos de barras y códigos QR.


Haga clic aquí para obtener una clave de licencia válida para la activación del SDK.


El paquete opencv4nodejs es un complemento de Node.js para OpenCV. Lo utilizamos para abrir la cámara y leer el flujo de vídeo.


Personalización de la API de Node.js para la lectura de códigos de barras y QR

Actualmente, el paquete barcode4nodejs sólo soporta una parte de la API C++ de Dynamsoft Barcode Reader. Si las características no pueden satisfacer sus necesidades, puede utilizar los siguientes pasos para personalizar la API de JavaScript:


1. Obtenga el código fuente de barcode4nodejs.


2. Descargue el SDK de código de barras de Dynamsoft C++. Copie los archivos de cabecera en la carpeta src y copie las bibliotecas compartidas en la carpeta platforms. Dynamsoft Barcode Reader SDK es compatible con Windows, Linux (AMD64 y ARM64) y macOS. En teoría, el complemento Node.js puede funcionar en todas las plataformas de escritorio.


3. Edita src/dbr.cc e index.js para añadir funciones personalizadas.


4. Construye la extensión Node.js:


Creación de un lector de códigos de barras y QR de Node.js para el escritorio y la web en 5 minutos

Aplicación de escritorio Node.js

Crea un archivo desktop.js. Según el tutorial básico de opencv4nodejs, podemos utilizar un bucle infinito para capturar los fotogramas de la webcam y mostrarlos en una ventana del escritorio:


Sin embargo, si invocamos la función asíncrona para decodificar el código QR y el código de barras continuamente en el bucle, la función de devolución de llamada del resultado nunca volverá. La solución es seguir llamando a la función setTimeout() a medida que se detectan el código de barras y el código QR:


En el siguiente código, utilizamos la API de OpenCV para dibujar una superposición, que muestra el texto y los cuadros delimitadores del código de barras y el código QR detectados. Debido a la similitud de los cuadros adyacentes, no necesitamos dibujar un cuadro y sus correspondientes resultados de forma sincronizada. Un poco de retraso es aceptable.


Resultado del el código realizado


Aplicación web Node.js

Crea un archivo web.js, en el que añadiremos el siguiente código para lanzar un servidor web:


Copiar el código utilizado en desktop.js a web.js. En lugar de utilizar cv.imshow() para mostrar la imagen de la cámara web en una ventana del escritorio, utilizamos res.write() para enviar los datos de la imagen al cliente web.


El siguiente paso es crear una página HTML para mostrar los datos de la imagen:


No se utiliza ninguna API avanzada de HTML5, sino un elemento de imagen. Por lo tanto, la aplicación web es 100% compatible con cualquier navegador web.


Ahora podemos ejecutar la aplicación de escaneo de códigos de barras y QR del lado del servidor utilizando Node.js.


Esta es una captura de pantalla de Microsoft Internet Explorer.


  Obten el codigo utilizado aqui


¡Gracias por llegar hasta aquí!


Reactions

7

0

0

0

Access hereTo be able to comment

TheWhiteCode.com is not the creator or owner of the images shown, references are: