Plugin ESC POS v3

Actualización plugin ESC POS v3.3.0 – Algoritmos de imágenes

En este post voy a explicar la última actualización de mi plugin, ya que he añadido algoritmos nuevos para imprimir imágenes. Anteriormente solo estaba soportado el Raster bit image, pero ahora he agregado el NV Graphics y Bit image column format.

La principal razón por la que agregué estos algoritmos es porque en algunos casos la alineación de las imágenes no era respetada (igualmente revisaré eso más a fondo en próximas actualizaciones) y porque algunas impresoras no son compatibles con el Raster bit image.

También he optimizado algunos algoritmos existentes para que sean más rápidos.

Te invito a leer los detalles completos, pues esta actualización trae algunas mejoras pero rompe algunas cosas. Si tú quieres seguir usando el plugin con los conectores que existían anteriormente, simplemente no actualices a la versión 3.3.0, ya que los conectores existentes no van a ser actualizados (para eso solo actualizaré el diseñador web que ya es capaz de generar código fuente).

Para los usuarios del diseñador

Si tú usas el diseñador web y no te funciona con el plugin, entonces asegúrate de usar las últimas versiones de ambas cosas. Es obligatorio usar las últimas versiones de ambos programas.

Para los usuarios con licencia

La licencia sigue funcionando igual en todas las versiones. Si a ti te funciona correctamente con la última versión y no quieres migrar, entonces no actualices.

Explicando los algoritmos

Vas a poder elegir entre 3 algoritmos: Raster bit image, Bit image column format y NV Graphics. Ya he hablado sobre la diferencia de ellos en otro post, y aquí voy a dejar claros los parámetros de acuerdo a mi plugin desarrollado.

  • Raster bit image es el valor 0
  • Bit image column format es el valor 1
  • NV Graphics es el valor 2

Si te lo preguntas, antes de esta actualización se usaba el Raster bit image, el cual corresponde al valor 0. Es importante tener en cuenta este valor, pues para imprimir imágenes, QR y códigos de barras debes especificar este algoritmo.

En la siguiente lista de funciones, el parámetro algoritmo que es un float64 debe ser un 0, 1 o 2.

Cambios en las funciones

No se han eliminado ni agregado funciones, pero se han hecho cambios en el número y tipos de parámetros. Las funciones afectadas son las que trabajan con imágenes locales, de internet, códigos QR, de barras o en base64.

Hay algunos parámetros que casi todas las funciones reciben y son:

  • maximoAncho: si el ancho de la imagen que quieres imprimir es mayor a maximoAncho, entonces la imagen va a ser redimensionada. Es útil para que puedas enviar una imagen en buena calidad y después ajustarla al ancho desde el plugin.
  • algoritmo: el algoritmo para imprimir. 0 para Raster bit image, 1 para Bit image column format y 2 para NV Graphics.

Por cierto, ya no es necesario que el ancho ni el alto de la imagen sean múltiplos de cierto número. Puedes imprimir una imagen de cualquier tamaño y opcionalmente redimensionarla según maximoAncho, pero no es obligatorio que la imagen tenga cierta medida.

La lista completa junto con sus nuevos parámetros es:

  • CargarImagenLocalEImprimir(ruta string, maximoAncho float64, algoritmo float64)
  • DescargarImagenDeInternetEImprimir(urlImagen string, maximoAncho float64, algoritmo float64)
  • ImprimirImagenEnBase64(imagenCodificadaEnBase64 string, maximoAncho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasCode39(contenido string, incluirSumaDeVerificacion, modoAsciiCompleto bool, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasCode93(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasPdf417(contenido string, nivelSeguridad float64, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasUpcA(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasUpcE(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasEan(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasEan8(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasTwoOfFiveITF(contenido string, intercalado bool, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasCodabar(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoDeBarrasCode128(contenido string, alto, ancho float64, algoritmo float64)
  • ImprimirCodigoQr(contenido string, anchoMaximo, nivelRecuperacion float64, algoritmo float64)

Como te puedes dar cuenta, se ha removido el parámetro “tamaño” que servía para redimensionar la imagen desde la impresora térmica.

Eliminé ese parámetro porque la redimensión no era nítida, causaba confusión y no iba a ser compatible con todos los algoritmos.

Documentación unificada y actualizada

Si quieres ver la descripción de cada operación y mantenerte al tanto de la documentación oficial ya existe el sitio de la documentación para el plugin HTTP a ESC POS: https://parzibyte.me/http-esc-pos-desktop-docs/es/

Estoy aquí para ayudarte 🤝💻


Estoy aquí para ayudarte en todo lo que necesites. Si requieres alguna modificación en lo presentado en este post, deseas asistencia con tu tarea, proyecto o precisas desarrollar un software a medida, no dudes en contactarme. Estoy comprometido a brindarte el apoyo necesario para que logres tus objetivos. Mi correo es parzibyte(arroba)gmail.com, estoy como@parzibyte en Telegram o en mi página de contacto

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

Creador de credenciales web – Aplicación gratuita

Hoy te voy a presentar un creador de credenciales que acabo de programar y que…

1 semana hace

Desplegar PWA creada con Vue 3, Vite y SQLite3 en Apache

Ya te enseñé cómo convertir una aplicación web de Vue 3 en una PWA. Al…

2 semanas hace

Arquitectura para wasm con Go, Vue 3, Pinia y Vite

En este artículo voy a documentar la arquitectura que yo utilizo al trabajar con WebAssembly…

2 semanas hace

Vue 3 y Vite: crear PWA (Progressive Web App)

En un artículo anterior te enseñé a crear un PWA. Al final, cualquier aplicación que…

2 semanas hace

Errores de Comlink y algunas soluciones

Al usar Comlink para trabajar con los workers usando JavaScript me han aparecido algunos errores…

2 semanas hace

Esperar promesa para inicializar Store de Pinia con Vue 3

En este artículo te voy a enseñar cómo usar un "top level await" esperando a…

2 semanas hace

Esta web usa cookies.