Raster bit image - Algoritmo ESC POS (GS v 0)

El día de hoy voy a explicar el algoritmo Raster bit image, mismo que es un método para convertir una imagen en bytes entendibles para el protocolo ESC POS de las impresoras térmicas. Además de este algoritmo existen el Bit image column format, NV Graphics y otros de los que todavía no tengo conocimiento. Estos 3 son los algoritmos más comunes a la hora de imprimir imágenes en una impresora térmica, si los conoces entonces no tendrás problemas al momento de imprimir imágenes en una impresora térmica. Bien, veamos este último algoritmo que es realmente sencillo después de haber revisado los otros 2. Su comando es GS v 0 y recibe los bytes de la imagen en formato de raster. Nota importante: recomiendo encarecidamente revisar los otros dos algoritmos, pues si bien todos son distintos, revisarlos te ayudará a entender la conversión de números, anchos, altos, bytes, LSB, MSB, etcétera. ...

enero 18, 2024 · 7 min · 1460 palabras · Parzibyte

Algoritmo ESC POS: NV Graphics - Impresora térmica

Hoy toca revisar otro algoritmo para imprimir imágenes en una impresora térmica usando el protocolo ESC POS. Existen varias maneras de convertir una imagen a bytes ESC POS para imprimirla, y en este post te voy a explicar el algoritmo NV Graphics cuyo comando es GS ( L. Se supone que la impresión de NV Graphics es la recomendada, ya que es soportada en las impresoras más recientes e incluso permite especificar distintos tonos. Al usar este método de impresión de imágenes podemos enviar los bytes en formato rasterizado o como columnas; yo prefiero enviarlos rasterizados pues es más sencillo. Nota: algunas impresoras antiguas no soportan este comando; en su lugar recomiendo usar bit image column format. ...

enero 16, 2024 · 11 min · 2165 palabras · Parzibyte

Emulador de impresora térmica

Cuando no tenía una impresora térmica y quería hacer pruebas siempre me preguntaba si existe algún simulador o emulador de impresora térmica, algo así como una impresora térmica virtual. Hace unos días encontré una herramienta llamada escpos-tools que, a partir de un archivo binario (montón de bytes en formato esc pos) puede extraer imágenes y texto, así como convertir a HTML. No es una impresora térmica virtual como tal, pero sirve para probar ciertas cosas. A mí me viene muy bien para su extracción de imágenes, ya que mi impresora física no soporta el algoritmo NV Graphics, pero el emulador de impresora térmica sí que lo soporta, así que puedo probar mi algoritmo de una manera sencilla. En este post te enseñaré a instalar las herramientas ESC POS que básicamente serían como lo contrario a mi plugin para impresoras térmicas, ya que estas leen comandos ESC POS escritos en un archivo y tratan de extraer la información, mientras que mi plugin genera un diseño de ticket y lo imprime. ...

enero 16, 2024 · 4 min · 653 palabras · Parzibyte

Extraer zip en hosting con PHP

Algunos servicios de hosting o almacenamiento con PHP permiten subir archivos, pero no permiten o no tienen la opción para extraer un zip, ya sea porque así lo dicen los términos o porque simplemente el administrador de archivos no cuenta con esa opción. Subir un zip al hosting con PHP es necesario cuando se quiere subir una carpeta o directorio con varios archivos, y qué mejor que hacerlo subiendo un zip y extrayéndolo en el servidor. Por ello es que en este post te enseñaré a extraer un archivo zip en un servidor con PHP incluso si el gestor de archivos no te brinda esa opción, usando al propio lenguaje de programación y la herramienta The Unzipper. ...

enero 11, 2024 · 2 min · 331 palabras · Parzibyte

Algoritmo imagen: Bit image column format ESC POS

En este post te voy a explicar cómo funciona el comando ESC POS para imprimir una imagen usando el Bit Image column format. No importa el lenguaje de programación, te voy a enseñar cómo enviar los datos a partir de los pixeles de una imagen, ya que yo buscaba un ejemplo simple y me parece que no lo encontré. Voy a explicarte el algoritmo para imprimir una imagen en una impresora térmica y al final te mostraré un ejemplo con una imagen real. ...

enero 4, 2024 · 8 min · 1596 palabras · Parzibyte

Ya puedes usar mi punto de venta en la nube

En estos días he creado una versión de Sublime POS 3 que se ejecuta en la nube, así los usuarios pueden usar el sistema desde cualquier dispositivo teniendo las mismas ventajas del sistema de ventas pero todo en un servidor de internet para que sus datos estén seguros. Voy a explicarte cómo puedes usar Sublime POS 3 en la nube en este artículo. ...

enero 1, 2024 · 4 min · 663 palabras · Parzibyte

CURLOPT_WRITEFUNCTION y CURLOPT_WRITEDATA para libcurl en C

En este artículo voy a hablar sobre la opción CURLOPT_WRITEFUNCTION que existe al usar libcurl en el lenguaje de programación C. Esta función se encargará de recibir los datos, pero tiene una particularidad y es que dicha función podría ser llamada al menos 1 vez, hasta una cantidad de veces indefinidas. En cada llamada se le pasará una cierta cantidad de datos, a veces pueden ser todos, a veces solo una parte, y nosotros debemos estar preparados para recibirlos y almacenarlos en algún lugar. Por cierto, el callback por defecto en esta opción es fwrite que simplemente imprime los datos. Yo te mostraré un ejemplo para almacenar todos los datos en una cadena dinámica, ya que al tener una cadena dinámica vas a poder compararla, imprimirla o almacenarla en algún lugar. ...

diciembre 30, 2023 · 3 min · 536 palabras · Parzibyte

Petición GET con C

En este post de programación en C aprenderás a usar ANSI C como un cliente HTTP para hacer una petición GET a cualquier URL sin importar si la misma devuelve JSON, un archivo o HTML. De este modo podrías aprender a consumir una API con C, pero comencemos con el principio revisando cómo hacer un HTTP request de tipo GET usando la librería cURL especializada para estos casos. Si bien es posible hacer una petición HTTP en C sin librerías, sería un trabajo muy complejo. Afortunadamente tenemos a libcurl que nos facilitará bastante el trabajo, y cuya instalación ya te mostré en otro artículo. Nota: ya existe el tutorial para hacer una petición POST. ...

diciembre 30, 2023 · 3 min · 457 palabras · Parzibyte

Petición HTTP POST con C

Acabo de enseñarte a hacer una petición HTTP de tipo GET usando el lenguaje de programación C con la librería cURL. En una petición GET no puedes enviar datos más allá de los parámetros GET en la URL, pero en una petición POST puedes enviar un payload de cualquier tipo ya sea JSON, archivo binario, etcétera. Justamente eso veremos hoy: cómo enviar datos JSON en una petición HTTP POST usando ANSI C. Te digo desde ahora que enviaremos los datos ya codificados, no los codificaremos directamente en C ya que si bien es posible eso queda fuera de este tutorial. ...

diciembre 30, 2023 · 3 min · 616 palabras · Parzibyte

String dinámica en C

En este post de programación en ANSI C o simplemente lenguaje C vamos a ver cómo tener una cadena dinámica que crece su tamaño sin ningún límite (más allá de la RAM). Esto es, dicho de otra manera, una string dinámica a la que se le pueden concatenar más cadenas y va a crecer su tamaño según sea requerido. Como bien sabes, las cadenas en C son arreglos de tipo char que tienen el carácter nulo en la última posición, y son de longitud fija. Gracias a los apuntadores, estructuras y funciones como malloc o realloc podemos aumentar la memoria que una variable usa, logrando así tener una cadena dinámica en C a la que le puedes concatenar otros strings sin límite. ...

diciembre 29, 2023 · 3 min · 539 palabras · Parzibyte