En este post voy a describir las novedades de mi plugin HTTP a ESC POS. Hemos llegado a la versión 3.5.0 y la novedad es que se puede aplicar dithering a las imágenes, imprimiendo imágenes de mejor calidad guardando la calidad.
La impresión de fotografías es la que más beneficiada se ve con el dithering, pues se conservan detalles que, sin este algoritmo, son invisibles.
Otra cosa que acompaña a esta actualización es que finalmente he creado la página de documentación del plugin donde puedes revisar la descripción de cada operación, un ejemplo de JSON, leer la descripción de la API, usar una área de pruebas, revisar las impresoras compatibles y todo lo que necesitas saber para usar este plugin.
Puedes revisar la documentación en: Documentación plugin ESC POS
Finalmente, otra cosa que se cambió es la respuesta que devuelve el endpoint /imprimir
.
Dithering a imágenes en impresora térmica
Revisemos las funciones que se ven afectadas con este cambio. La lista es:
- CargarImagenLocalEImprimir
- DescargarImagenDeInternetEImprimir
- GenerarImagenAPartirDeHtmlEImprimir
- GenerarImagenAPartirDePaginaWebEImprimir
- ImprimirImagenEnBase64
Anteriormente estaban así:
CargarImagenLocalEImprimir(ruta string, maximoAncho float64, algoritmo float64)
Ahora se han cambiado para incluir un parámetro booleano indicando si se debería aplicar dithering antes de imprimir la imagen:
DescargarImagenDeInternetEImprimir(urlImagen string, maximoAncho float64, algoritmo float64, deberiaAplicarDithering bool)
Ese mismo parámetro se incluye en la lista previamente mencionada, quedando así por completo:
- CargarImagenLocalEImprimir(ruta string, maximoAncho float64, algoritmo float64, aplicarDithering bool)
- DescargarImagenDeInternetEImprimir(urlImagen string, maximoAncho float64, algoritmo float64, deberiaAplicarDithering bool)
- GenerarImagenAPartirDeHtmlEImprimir(html string, anchoPagina float64, maximoAncho float64, algoritmo float64, deberiaAplicarDithering bool)
- GenerarImagenAPartirDePaginaWebEImprimir(direccionPagina string, anchoPagina float64, maximoAncho float64, algoritmo float64, deberiaAplicarDithering bool)
- ImprimirImagenEnBase64(imagenCodificadaEnBase64 string, maximoAncho float64, algoritmo float64, deberiaAplicarDithering bool)
Así que, si usabas estas funciones, debes actualizar tu código para que sea compatible con la versión 3.5.0, o seguir usando la versión anterior.
Documentación completa
Como lo dije al inicio, ya existe una página donde se enlistan todas las operaciones ESC POS disponibles así como ejemplos de código y explicación de argumentos. De hecho puedes revisar la lista ya mismo, por ejemplo, si quieres puedes ver la documentación para imprimir una imagen local, una de internet, generar una imagen a partir de HTML, generar una imagen a partir de una página web o imprimir una imagen en base64.
Puedes explorar la documentación completa del plugin HTTP a ESC POS cuando quieras. También puedes ver su código fuente pues el sitio es totalmente open source.
Cambiando respuesta de la API
La última novedad hace la API más consistente al momento de imprimir invocando al endpoint /imprimir
.
Anteriormente devolvía un booleano true
si todo iba bien, o una cadena string indicando el mensaje de error.
Ahora devuelve un objeto con las propiedades ok
booleano y message
string. Si ok
es true
, entonces todo fue bien y message
estará vacío. De lo contrario, ok
estará en false
y message
tendrá el mensaje de error.
He hecho este cambio porque era un poco complejo manejar la respuesta en lenguajes fuertemente tipados. Puedes leer la descripción completa sobre el método HTTP para imprimir en una impresora térmica.