Impresora Térmica Ticket

Hola a todos, 

Contexto
Tengo una app tipo punto de venta y me interesa imprimir tickets con mi impresora térmica (GOOJPRT) , la verdad es que he encontrado poca información al respecto y en español aún menos.

En general la mayoría de los métodos que encontré involucran generar un pdf y a mi eso no me agrada mucho,  sin embargo en este post (CONCATENATE-ON-THERMAL-PRINTING) encontré información que se aprecia, entre esta información @Hocappsheet compartió un link a un video donde explica una forma de realizar este proceso que me pareció una buena alternativa al método del pdf .

Así de fácil es imprimir texto desde una acción de AppSheet!!.

3 Puntos clave de la metodología para imprimir de @Hocappsheet 

1.- Instalar RawBT desde la Play Store, (Me imagino que existen más aplicaciones que permiten la misma funcionalidad, pero sólo he probado esta).

2.-Configurar la aplicación de RawBT para que los parámetros coincidan con los de nuestra Impresora Térmica ó los deseados.

3.-En AppSheet, crear una acción para la tabla que contiene la información que deseamos imprimir. Esta acción será de tipo (External: go to a web site) y (Launch External) debe estar activado, la fórmula será algo parecido a 

HYPERLINK(
CONCATENATE("rawbt:",
ENCODEURL("Cualquier texto")
),
"Imprimir"
)

 

Explicación de la Fórmula
Con esta fórmula le estamos comunicando a RawBT a través del Hyperlink() el texto que deseamos imprimir, pero el texto tiene que ser transformado a un formato URL para que el hyperlink tenga sentido, es por ello que usamos ENCODEURL() para codificar los caracteres especiales y espacios de nuestro texto. 
En este caso el primer valor que estamos concatenando es: "rawbt:" en página de internet de la aplicación (https://rawbt.ru/start.html ) explican el por qué, y qué prefijos usar según lo que estemos tratando de imprimir.

 

Imprimir una Imagen
Esto es importante ya que a todos nos gustaría que apareciera el logo de nuestro negocio en el ticket.
En la página de RawBT explican varias formas de enviar una imagen a  imprimir, por lo que sólo explicaré la que mejor resultado me dió.

1.- Tener la imagen a imprimir 

2.- Convertir la Imagen a Base64, (yo probé convertir mi imagen en https://www.base64-image.de/  y me funcionó) para ello hay que elegir la opción de (Show code)  y luego copiar el campo (For use in <img> elements:). Esa será nuestra imagen en Base64

3.- La fórmula para nuestra acción en appsheet será algo parecido a 

(Ojo cuando publico el post se cambia el formato de la fórmula, dejo una imagen donde la fórmula está bien )

HYPERLINK(
"rawbt:data&colon;image/XXXXXXXXXXXXXXXImagen en Base64XXXXXXXXXXXXXXXXXX",
"Imprimir Imagen"
)

Otra forma sería almacenando "rawbt:data&colon;image/Imagen en Base64" en alguna tabla de nuestra aplicación en AppSheet , Un ejemplo de fórmula quedaría parecida a la siguiente 
____________________________________________________________________________________________

Pongo esta imagen porque noto que se cambia el formato cuando publico el postPongo esta imagen porque noto que se cambia el formato cuando publico el post

HYPERLINK(
INDEX(Tabla[Columna con imagen en Base64],1)
"Imprimir Imagen"
)

 

El punto en el que estoy atascado y agradeceria ayuda 

Imprimir la imagen y el ticket al mismo tiempo.
Puedo imprimir la imagen primero con una acción, y con otra acción imprimir el ticket. Pero cuando trato de unir las 2 acciones con una acción tipo (Grouped: execute a sequence of actions) solo imprime el contenido de la primer acción de la secuencia. 

¿Existe alguna forma de concatenar la imagen con el ticket? (Pensando que una acción es suficiente para imprimir el ticket con imagen).

Tengo la sensación de que en los dos casos la limitante es la app de RawBT por su incapacidad de procesar las 2 órdenes seguidas, pero son sólo mis suposiciones. 

 

Solved Solved
0 18 4,645
1 ACCEPTED SOLUTION


@Kabuliño wrote:

Imprimir la imagen y el ticket al mismo tiempo.
Puedo imprimir la imagen primero con una acción, y con otra acción imprimir el ticket. Pero cuando trato de unir las 2 acciones con una acción tipo (Grouped: execute a sequence of actions) solo imprime el contenido de la primer acción de la secuencia. 

¿Existe alguna forma de concatenar la imagen con el ticket? (Pensando que una acción es suficiente para imprimir el ticket con imagen).

Tengo la sensación de que en los dos casos la limitante es la app de RawBT por su incapacidad de procesar las 2 órdenes seguidas, pero son sólo mis suposiciones. 


Cuando usas una acción que te saca de contexto (como las de External: o del tipo "Go to view...") solo la puedes ejecutar una vez, el resto se pierde. Esto es una limitante de AppSheet.

Lo que puedes hacer es crear un código para que solo con una acción generes el contenido para ser impreso. Imagino que has intentado sin éxito. Nos puedes explicar qué es lo que no te ha funcionado? Deberías poder concatenar la imágen junto con el contenido

View solution in original post

18 REPLIES 18
Top Labels in this Space