Blog de conocimiento gratuito: linux, programación, open source, bases de datos, android, frameworks, web e informática en general.
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.
Desde hace tiempo presenté mi plugin para comunicación con impresoras térmicas que permite imprimir con comandos ESC POS desde cualquier lugar saltando las limitaciones del navegador web y de los lenguajes de programación.
Hoy te enseñaré cómo usarlo con PHP, aunque técnicamente vamos a usar JavaScript ya que si bien podemos hacer peticiones con PHP, necesitamos hacer estas peticiones desde el cliente y no desde el servidor, sobre todo cuando PHP está en un servidor web.
No te preocupes, será un código muy sencillo y funcionará igualmente con o sin internet. Veamos cómo imprimir en una impresora térmica desde PHP pero en modo cliente.
Hoy vengo a relatar otro error y la solución que encontré trabajando en un proyecto. Resulta que configuré la librería escpos-php en un servidor Ubuntu con Plesk. Lo subí, instalé las dependencias, etcétera hasta que me aparecía el siguiente error:
open_basedir restriction in effect. File(archivo) is not within the allowed path(s).
Cabe aclarar que esto me pasaba al imprimir una imagen. Lo demás funcionaba perfectamente. Y obviamente revisé que tuviera instaladas las extensiones, permisos de archivos, etcétera. Revisa eso antes y también el siguiente post:
https://parzibyte.me/blog/2023/03/20/failed-load-image-escpos-php-mike42/
En caso de que te aparezca este error, sigue leyendo.
En este artículo te voy a enseñar a rotar una imagen con HTML y JavaScript a través de canvas, de manera que podrás girar una imagen los grados que tú quieras, es decir, rotarla 90, 180, 270 o cualquier cantidad.
Veremos cómo cargar una imagen, pintarla en un canvas, agregarle rotación y después hacer cosas como descargar esa imagen o enviarla al backend que puede ser con Node, C#, PHP, etcétera.
El día de hoy vamos a resolver un ejercicio de programación en PHP. Se trata de simular la compra de productos a través de un formulario y luego mostrar el total.
Es un ejercicio de programación para aprender más sobre este lenguaje. La solicitud dice:
Realizar una página web dinámica con PHP que simule la compra de varios productos de una tiendita a través de un formulario web.
Vamos a hacerlo dibujando el formulario de manera dinámica y recibiéndolo igualmente en el servidor.
En el post de hoy veremos cómo “programar” en Laravel desde Android, o dicho técnicamente, ejecutar un proyecto de Laravel (que usa PHP) dentro de un servidor Apache con PHP todo dentro de Termux corriendo sobre un dispositivo Android.
Las herramientas que necesitamos ya existen en Termux, y son php, mysql, composer y apache.
Además, no es obligatorio programar en el móvil (aunque sí posible); podemos simplemente montar un proyecto de Laravel en Android.
En este corto post de programación con PHP, Laravel y MySQL vamos a ver cómo exportar una base de datos de MariaDB completa desde un controlador de Laravel.
Vamos a usar la herramienta mysqldump
atrapando su salida en un archivo y luego vamos a servirlo al cliente para finalmente eliminarlo, es decir, usaremos mysqldump
para volcar la base de datos a un archivo SQL temporal.
Nota: si quieres también puedes ver el script que usa PHP puro y adaptarlo a Laravel:
https://parzibyte.me/blog/2018/10/22/script-respaldar-base-de-datos-mysql-php/
En este post te mostraré cómo instalar y compilar lo necesario para montar el código fuente del plugin de impresoras térmicas versión 2 que ya presenté anteriormente y que puedes ver en el siguiente post:
https://parzibyte.me/blog/2021/02/09/presentando-plugin-impresoras-termicas-version-2/
En pocas palabras, ese plugin permite imprimir en impresoras térmicas usando una API de internet, pero al estar en un servidor web necesita una conexión estable a internet, por ello es que ya existe la versión 3.
Al tener el código fuente, tú mismo puedes vender el servicio de la API ESC POS o usarlo para ti mismo modificando los planes y brindándote un plan ilimitado.
Veamos entonces cómo instalar las herramientas necesarias para modificar el código fuente del plugin versión 2.