Error open_basedir al imprimir imagen con ESC POS de Mike42

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:

Failed to load image al usar escpos-php de Mike42

En caso de que te aparezca este error, sigue leyendo.

(más…)

Tabla impresa en impresora térmica

Imprimir tabla en impresora térmica

Las impresoras térmicas permiten la impresión de texto y la alineación del mismo, pero ¿qué pasa cuando queremos imprimir una tabla que sea alineada correctamente en caso de que el texto sobrepase el ancho? para ello debemos implementar un algoritmo propio.

Tabla impresa en impresora térmica

Tabla impresa en impresora térmica

Por ello es que en este post te voy a enseñar a imprimir datos tabulados o básicamente imprimir una tabla bien alineada y con separadores en una impresora térmica, usando únicamente texto.

Verás que podremos imprimir las celdas y columnas de la tabla respetando el máximo ancho del ticket, ya sea dibujando los separadores o solo ordenando los datos.

(más…)

Imprimir ticket con C# y Visual Studio usando impresora térmica

Imprimir en impresora térmica con C# y Visual Studio

En este artículo vamos a ver cómo comunicar C# con una impresora térmica usando Visual Studio, Mono o cualquier compilador que soporte C#. Es decir, no necesitas VS obligatoriamente siempre y cuando cuentes con el .NET framework necesario.

Imprimir ticket con C# y Visual Studio usando impresora térmica

Imprimir ticket con C# y Visual Studio usando impresora térmica

Podrás usar C# (C sharp) para imprimir texto en una POS printer, alinear, colocar enfatizado, definir tus propios caracteres por si la impresora no lo soporta, imprimir acentos, texto según páginas de códigos y por supuesto podrás imprimir imágenes (locales, de internet o en base64), códigos QR, códigos de barras y todo lo necesario para crear tickets con C# en una thermal printer.

Para esto vamos a usar un conector que he creado con C# y un plugin gratuito. Esto funciona en Linux, Raspberry Pi, Windows y cualquier plataforma donde funcione mi plugin y C# se pueda compilar.

(más…)

Failed to load image al usar escpos-php de Mike42

En este post voy a relatar un error que aparece al comunicarse con impresoras térmicas desde PHP usando la librería ESC POS de Mike42. En este caso el error es Failed to load image que ocurre cuando queremos imprimir una imagen en una impresora térmica.

Recuerda que este error aparece si la imagen no es válida, no existe, no tienes la extensión gd y/o imagick, etcétera. Pero si crees que cuentas con todo eso y te sigue dando problemas entonces sigue leyendo.

Te lo repito: antes de revisar la solución listada más adelante, por favor comprueba que la imagen que quieres imprimir existe y que tienes habilitadas las extensiones necesarias.

(más…)

Conectar C# con impresora térmica

C# – Enviar datos ESC POS a impresora térmica

En este post vamos a ver cómo usar C# nativamente para abrir una impresora térmica como un archivo y enviarle bytes o datos entre los cuales puede haber comandos ESC POS.

Recuerda que yo ya tengo un plugin que permite imprimir en impresoras térmicas y expone una API HTTP consumible desde cualquier lenguaje de programación para que tú lo uses y no implementes tu propia librería, pero si quieres ver cómo se hace sigue leyendo.

(más…)

Imprimiendo en impresora térmica desde cualquier lenguaje de programación - Ejemplo de JSON

Crear conector para plugin de impresora térmica

En este post voy a explicarte cómo puedes crear un conector para el plugin de impresoras térmicas y así poder imprimir desde cualquier lenguaje de programación que hable HTTP.

Como bien sabes, mi plugin no es más que un servidor web que te permite imprimir en impresoras POS, solo debes indicarle las operaciones que debe hacer.

Veamos entonces cómo imprimir en una impresora térmica usando cualquier lenguaje de programación y mi plugin gratuito.

(más…)

Ticket impreso con comandos ESC POS en impresora térmica

Cambiar modo de impresión de ticket en Sublime POS 3

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.

(más…)

Impresora PT-210 instalada en Windows - Impresión de ticket de prueba

Instalar impresora GOOJPRT PT-210 en Windows

La impresora Bluetooth PT210 también funciona normalmente como impresora térmica conectada por cable USB a una computadora con Windows, y estoy seguro de que debe trabajar correctamente en Linux y Raspberry Pi.

En este post te mostraré cómo instalar la PT-210 GOOJPRT en Windows y probar la impresión de códigos de barras, códigos QR y todo lo necesario para crear tickets y recibos en esta thermal printer a través de un cable USB.

(más…)

Código fuente de plugin para impresoras térmicas v2

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:

Presentando plugin para impresoras térmicas versión 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.

(más…)

Ticket impreso desde Java usando NetBeans - Comunicar impresora térmica con Java

Imprimir en impresora térmica con Java

En este post vamos a ver cómo comunicar Java con una impresora térmica para imprimir imágenes, códigos QR, códigos de barra, texto, texto con acentos y darle estilo a los tickets desde ese lenguaje de programación.

Al final podrás usar NetBeans, IntelliJ IDEA, VSCode o cualquier editor en donde programes en Java para imprimir tickets en una impresora térmica.

Con el código mostrado aquí vas a ser capaz de imprimir recibos en una impresora térmica con Java ya sea desde la terminal, con Swing, en SpringBoot o cualquier cosa que programes con Java.

(más…)

Ticket impreso desde Raspberry Pi 4 usando comandos ESC POS

Conectar Raspberry Pi con impresora térmica

El día de hoy vamos a conectar 2 piezas de hardware que me gustan mucho: una impresora térmica y la Raspberry Pi, para imprimir tickets, recibos, abrir cajón y todo tipo de cosas en una impresora térmica desde Raspbian.

Para lograrlo vamos a usar un plugin gratuito que acabo de desarrollar, mismo que nos permitirá imprimir en una impresora térmica desde cualquier lenguaje de programación.

Lo que el plugin nos permitirá será imprimir texto (soportando acentos o tildes, letras ñ, etcétera), imágenes, códigos de barras, códigos QR, cambiar el tamaño de la fuente, definir caracteres personalizados, invertir la impresión, rotarla, enfatizar texto, subrayarlo y alinearlo.

Imagina todas las posibilidades… así podríamos crear sistemas de cualquier tipo que funcionen sobre la Raspberry Pi, o usarla como estación de impresión.

(más…)