Меnu:


Imprimir es algo que es bien sencillo, verdad?, como usuarios finales, solo tenemos que presionar el botón de imprimir, y los documentos comenzaran a salir de la impresora. En el caso de nuestro sistema de inventarios, no sera algo tan sencillo, ya que como el sistema de inventarios (invcross), esta hecho en lenguaje C y con las interfaces de usuario hechas en wxwidgets (C++). La impresora en la que imprimirá el sistema de inventarios los comprobantes debe ser una impresora que soporte ESC/POS. Todo esto se traduce en imprimir nuestros comprobantes desde el lenguaje C a la impresora ESC/POS.

Imprimiendo desde lenguaje C a una impresora ESC/POS

Para resolver esta parte del sistema de inventarios, dividiremos el proceso en 3 subprocesos (etapas o partes):

1. Convertir el comprobante a JSON (esto sera automático), este comprobante se convertirá en una cadena de datos de tipo JSON . Este subproceso incluye también las tareas de crear las tablas que soportaran la configuración en el sistema. También la configuración de la no impresión y del cash drawer, en el sistema. La interfaz de usuario para que el usuario sea capaz de cambiar el recibo o mejor dicho editar el template del recibo, dicha interfaz de usuario generara un segundo stream de datos JSON.

2. Basándonos en el template definido por el usuario y los datos del comprobante, se generara un tercera cadena de datos JSON. Se necesita un compilador para poder interpretar la cadena de datos del template y también la cadena de datos del comprobante.

3. Utilizando como base la cadena de datos producida en el subproceso anterior lo convertiremos a comandos ESC/POS y enviaremos a la impresora.

El subproceso 2 ya esta terminado, estamos actualmente trabajando en el subproceso 1.

A continuación mostramos los subprocesos del proceso principal de impresión.

Se Pueden apreciar el detalle del subproceso dos, en la imagen de abajo.

Pueden ver un video de la parte 2. Flex/Bison son herramientas increíbles para generar parsers.
vídeo

Para hacer el parser nos ayudo el trabajo descrito en un antiguo articulo, escrito hace mas de 16 años, específicamente en el año 1999. Gracias Jan Niestadt. Tan solo imagínense la velocidad de las maquinas de ese entonces, deben estar en el Pentium original velocidades no mayores a 400 Mhz.

Esperamos pronto continuar escribiendo mas artículos, a permanecer atentos.

Last change: 29.11.2022 18:58

blog comments powered by Disqus