Podemos imprimir en una impresora térmica desde PHP con comandos ESC POS usando, por ejemplo, la librería de mike42. Funciona bien si todo es en servidor local (ya que la computadora es a su vez cliente y servidor), pero el problema aparece cuando el proyecto se sube a internet y es necesario imprimir desde un servidor web.
Debemos recordar que PHP se ejecuta del lado del servidor, por lo que siempre tratará de imprimir en una impresora térmica conectada físicamente al servidor, así que no podemos imprimir en el lado del cliente.
Lo que nos queda es conectar la impresora al servidor de internet (es decir, viajar a donde sea que esté ubicado el servidor cada vez que se imprima) o buscar alternativas que te mostraré en este post.
Así que veamos cómo imprimir en una impresora térmica desde PHP pero cuando subimos el proyecto a internet.
La primera alternativa es generar un PDF con algo como Dompdf y enviar la salida al navegador para que el usuario imprima en cualquier impresora.
De este modo podemos soportar varios modelos de impresoras y también podemos diseñar tickets complejos. La desventaja sería que, como no estamos enviando comandos ESC POS no podemos controlar el corte de papel, avance de papel, apertura de cajón o cosas similares.
Por otro lado podemos diseñar un ticket con HTML y CSS (pre procesando lo necesario con PHP) y después invocar a window.print
con JavaScript para mostrar el cuadro de diálogo del sistema que imprime.
Esto nos ahorra el uso de librerías y permite que generemos un ticket solo con CSS, HTML y JS. La desventaja es la misma que la presentada anteriormente.
Otra alternativa es instalar un servidor web en la computadora del cliente. Puede ser con PHP o cualquier otro lenguaje que sea capaz de comunicarse con las impresora y que además sea capaz de recibir órdenes a través de HTTP.
De este modo podemos invocar a este servidor web desde JavaScript. De nuevo, no estaríamos usando PHP, pero podemos pre-procesar el código para invocarlo.
En el pasado yo me enfrenté a este problema sobre cómo imprimir en PHP desde internet y no encontré alguna solución que me gustara, así que desarrollé un plugin.
Con este plugin el usuario simplemente tiene que descargarse un .exe (o el equivalente en su sistema operativo) y todo funcionará perfectamente.
Aquí te dejo un enlace de cómo usarlo con PHP. Yo recomiendo usar ese método porque es el más simple para el usuario y permite diseñar todo tipo de tickets:
El día de hoy te mostraré cómo crear un servidor HTTP (servidor web) en Android…
En este post te voy a enseñar a designar una carpeta para imprimir todos los…
En este artículo te voy a enseñar la guía para imprimir en una impresora térmica…
Hoy te voy a mostrar un ejemplo de programación para agregar un módulo de tasa…
Los usuarios del plugin para impresoras térmicas pueden contratar licencias, y en ocasiones me han…
Hoy voy a enseñarte cómo imprimir el € en una impresora térmica. Vamos a ver…
Esta web usa cookies.