El sistema de ventas que publiqué hace algún tiempo permite imprimir tickets de venta, apartados y abonos desde el navegador web, dando al usuario la posibilidad de elegir la impresora en la que imprime.
Sin embargo algunos usuarios me han comentado que al usar impresoras térmicas sobra mucho espacio, el papel no se corta, no se abre el cajón o simplemente la impresión es errónea.
Eso es totalmente normal, pues las impresoras térmicas están diseñadas para recibir comandos ESC POS y no para imprimir como una impresora normal.
Por ello es que en este post te detallaré cómo cambiar el modo de impresión de tickets en Sublime POS 3 y así poder imprimir directamente en una impresora térmica soportando el corte de papel, apertura de cajón y quitando el cuadro de diálogo del sistema.
Para que entiendas de qué hablo vamos a comparar un ticket impreso desde el navegador web con vista previa y todo eso.
El ticket digital se ve así:
Si lo envío a imprimir a mi impresora térmica desde el navegador, la imagen no aparece y tampoco los estilos. Además, deja un espacio en blanco muy largo.
En algunas impresoras seguramente los estilos sí aparecen, pero saldrá también papel de sobra:
Y finalmente veamos la impresión con comandos ESC POS. Por cierto, quiero que quede claro que la impresión se diseña desde cero, no se envía como si fuera un PDF, se envían los comandos:
Además, cuando el ticket se acaba de imprimir se envía un pulso para abrir el cajón y se realiza un corte de papel (todo eso en caso de que tu impresora lo soporte).
Nota: los comandos ESC POS solo son soportados por impresoras térmicas. Si tú usas una impresora de tinta o cosas alternativas entonces esto no funcionará para ti.
Puedes ver un vídeo de demostración para notar las diferencias:
Si te ha gustado el diseño del ticket y además quieres probar si tu impresora es compatible antes de pagar, puedes probar gratuitamente.
Acabo de desarrollar mi plugin de impresoras versión 3. En el post de presentación también indico cómo instalar la impresora térmica como genérica y cómo compartirla.
En caso de que ya hayas instalado tu impresora recomiendo desinstalarla e instalarla como se indica en el tutorial:
Y luego te invito a descargar y probar el plugin como se indica en el siguiente post:
En caso de que el plugin funcione para ti entonces podemos conectar Sublime POS 3 con mi plugin y hacer que los tickets se impriman directamente.
Toma en cuenta que Sublime POS 3 solo va a conectarse al plugin, así que todo lo que puedas hacer con él se podrá hacer desde el sistema.
Con esto me refiero a que si por ejemplo al probar el plugin puedes abrir el cajón también se podrá hacer desde el sistema de ventas, pero si mi plugin no puede abrirlo tampoco lo hará al conectarse con el sistema.
Actualización mayo 2023: este cambio ya está implementado en la última versión del sistema: https://parzibyte.me/blog/2021/04/13/sistema-ventas-gratuito-windows/
Ten en cuenta que Sublime POS 3 y el Plugin para impresoras térmicas versión 3 son programas separados e independientes, cada uno con sus características y costos. También recuerda que ambos se ejecutan por separado y que deben estar abiertos al mismo tiempo para que funcionen.
El único servicio que estoy ofreciendo en este post es el de conectar ambos sistemas tal y como están en su versión gratuita, sin incluir cosas adicionales.
Para solicitar el cambio:
Nota: alternativamente puedes obtener el código fuente de Sublime POS y el de alguna versión de los plugins anteriores, ya sea la 1 o la 2 (porque el código de la versión 3 no está en venta todavía) y hacer la conexión tú mismo.
Hoy te voy a presentar un creador de credenciales que acabo de programar y que…
Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…
En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…
En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…
Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…
En este artículo te voy a enseñar cómo usar un "top level await" esperando a…
Esta web usa cookies.