Mostrando las entradas con la etiqueta nodejs. Mostrar todas las entradas
Mostrando las entradas con la etiqueta nodejs. Mostrar todas las entradas

martes, 3 de mayo de 2016

Barcode and QR code as service

In several of my projects, in different leguajes, I had the need to generate some kind of bar code and lately also need to generate QR codes. The problem was always how to get that functionality integrated development, either as native library or using some external service.In both cases I have found that the disadvantages are many and the risk of use them is important. For native libraries, not always there is one for the language we are using, because either does not exist, license cost, etc.
In the case of external services, although it is very comfortable just call the service and retrieve an image, they can cease to exist, become very slow,
or just internet access is not an option.For those reasons I decided to create a simple server that allows the generation of certain barcodes and QR (I've needed so far) locally. The project is posted on GitHub at: https://github.com/padiazg/barcode-as-a-service
 Currently it can generate codes for EAN13, CODE39, CODE129, PDF417 and QR. The list can be extended to other types that supports the Rescode package in which this project is based.To put it to work we must follow these steps:
  1.     Node.js must be installed  (the last version is recommended)
  2.     Download the project in any folder
  3.     Open a console and go to the folder where you just downloaded the project
  4.     Run npm install to download the required packages
  5.     Run node barcode-service

Once the service is  running, we can point a browser at port 3000 of the host for a brief example of using the service.Comments and any feedback would be appreciated.


Actualización: 

V1.1 (09/mayo/2016)
  • Solved a problem with fonts, related to the scale of the output.
  • Added paramater "scale", to specify a desired scale for the gnerated image.
  • Added parameter "fmt", to choise the imege format.
  • Implemented generation for "DataMatrix" 
  • The internal procedure is simplified.
In order to generate JPG output GraphicsMagick is needed, it's just download and install the right version for your system, bejore run the server.

Don't forget to update the requirements whit npm install after upgrading to the new version.
 

lunes, 18 de abril de 2016

Códigos de barra y QR como servicio

En varios de mis desarrollos, en distintos leguajes, tuve la necesidad de generar algún tipo de codigo de barra y últimamente también necesité generar códigos QR. El problema siempre fue como conseguir integrar esa funcionalidad al desarrollo, ya sea como biblioteca nativa o consumiendo algún servicio externo.

En ambos casos he encontrado que las desventajas son varias y el riesgo usarlas era importante. En el caso de las bibliotecas nativas es que no siempre se encuentra una para el lenguaje que estamos usando, ya sea por que no exista, por la licencia, costo, etc.

En el caso de los servicios externos , aunque es muy cómodo simplemente llamar al servicio y recuperar una imágen, estos pueden dejar de existir, volverse muy lentos o simplemente el acceso a internet no es una opción.

Por este motivo me propuse crear un servidor sencillo que me permita exportar como servicios la generación de ciertos códigos de barra y QR (los que he necesitado) de forma local.

La dirección del proyecto es esta:  https://github.com/padiazg/barcode-as-a-service

Actualmente puede generar codigos EAN13, CODE39, CODE129, PDF417 y QR. La lista puede extenderse a los demás tipos de código que soporta el paquete rescode en el que se basa este proyecto.

Para ponerlo a funcionar debemos seguir estos pasos:
  1. Tener instalado Node.js (se recomienda la versión mas actual)
  2. Descargar el proyecto en alguna carpeta
  3. Abrir una consola e ir a la carpeta donde acabamos de descargar el proyecto
  4. Ejecutar npm install para descargar los paquetes requeridos
  5. Ejecutar node barcode-service
Una vez corriendo el servicio, podemos apuntar un navegador al puerto 3000 de la máquina para tener un breve ejemplo del uso del servicio.

Se agradecerá los comentarios y algún feedback.

Actualización: 

V1.1 (09/mayo/2016)
  • Se corrige un problema con las letras, relacionado a la escala del código generado.
  • Se agrega el parámetro "scale", con la que se puede especificar la escala de la imágen generada.
  • Se agrega el parámetro "fmt" para seleccionar el formato de la imágen generada.
  • Se implementa la generación de códigos "DataMatrix" 
  • Se  simplifica el procedimiento interno para la generación de los códigos.
Para la generación de salida en formato JPG se debe tener instalado GraphicsMagick, es simplemente bajar e instalar la versión apropiada para su sistema, antes de ejecutar el servidor.

No debemos olvidar de actualizar los requerimientos de paquetes con npm install después de actualizar a la nueva versión.