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.

Encantado de ayudarte


Estoy disponible para trabajar en tu proyecto, modificar el programa del post o realizar tu tarea pendiente, no dudes en ponerte en contacto conmigo.

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.

Dejar un comentario