php

Imprimir en impresora térmica con PHP desde internet

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.

Generando un PDF

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.

Ticket HTML

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.

Crear servidor web local

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.

Usando plugin

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:

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

No te pierdas ninguno de mis posts

Suscríbete a mi canal de Telegram para recibir una notificación cuando escriba un nuevo tutorial de programación.
parzibyte

Programador freelancer listo para trabajar contigo. Aplicaciones web, móviles y de escritorio. PHP, Java, Go, Python, JavaScript, Kotlin y más :) https://parzibyte.me/blog/software-creado-por-parzibyte/

Entradas recientes

Solución: Unable to extract uploader id con youtube-dl

En mi blog te he enseñado a usar youtube-dl para descargar vídeos con permiso del…

3 días hace

Enviar foto a Telegram usando cURL y Bot

Siguiendo con los tutoriales que consumen la API de los Bots de Telegram con cURL…

3 días hace

cURL y Telegram: enviar mensaje a Bot

En un post previo te enseñé a enviar un mensaje en nombre de un Bot…

3 días hace

Impresora térmica con Telegram usando Bot

En este artículo te voy a mostrar una guía para imprimir en una impresora térmica…

3 días hace

Imprimir PDF con Bot de Telegram

La impresión de un PDF en cualquier impresora se puede automatizar con un bot de…

1 semana hace

Enviar mensaje con bot de Telegram usando JavaScript (lado del cliente)

Hoy te enseñaré cómo enviar un mensaje a un usuario desde un bot de Telegram…

1 semana hace

Esta web usa cookies.