una txt termica puedo metodo imprimir impresora imagen etiquetas desde como java android escaping point-of-sale thermal-printer

java - txt - ¿Cómo imprimir desde la impresora térmica en Android?



metodo imprimir java (1)

Estoy trabajando en una aplicación para un dispositivo Android que tendrá una impresora integrada en línea. Tengo que interactuar con esta impresora y usarla para imprimir los detalles en el recibo y luego con el corte cortar ese recibo automáticamente. He visto algunos comandos ESC en él, pero no sé cómo ejecutar estos comandos ESC.

Tengo tres problemas principales con respecto a la Impresora de Dispositivo Casio:

1. He usado el código de impresión para la impresora Build in, pero después de imprimirlo no está activado

BuildinEx840 ex840 = new BuildinEx840(); int response = ex840.open(); System.out.println("ex840 open:" + response); byte[] set = { ''N'', ''A'', ''R'', ''E'', ''S'', ''H'', ''S'', ''H'', ''A'', ''R'', ''M'', ''A'', (byte) 0x0d, (byte) 0x0a }; try { ex840.write(set); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } try { response = ex840.getEndStatus(); System.out.println("getEndStatus:" + response); response = ex840.initCutter(); ex840.close(); System.out.println("initCutter:" + response); } catch (Exception e) { e.printStackTrace(); }

2. No sé cómo enviar comandos ESC a la impresora en Android

Hay varios comandos como a continuación

ESC FF DataPrint, [code] <1B>H<OC>H, [Function] Print all the data in the print area collectively.

¿Cómo podemos ejecutar estos comandos ESC en Android programando?

3. No sé cómo imprimir el recibo en el formato requerido

Hay algunos comandos ESC disponibles para proporcionar márgenes desde la izquierda y la derecha y algunos otros comandos. Entonces, ¿cómo puedo imprimir los datos en algún formato y puedo cambiar el tamaño del texto, así como algunas otras configuraciones del texto que se imprimirá?

Cualquier ayuda es apreciada.


Después de trabajar durante los últimos 7 días, obtuve la forma correcta de obtener la impresión y luego corté ese recibo con el cortador. Los comandos ESC son muy importantes para obtener la impresión y otras tareas relacionadas con la impresora. Tenemos que pasar esos CMD de ESC en forma de matriz de bytes a la impresora de línea.

Hay varios comandos como a continuación

ESC FF DataPrint, [code] <1B>H<OC>H, [Function] Print all the data in the print area collectively.

Así que simplemente cree una matriz de bytes de este comando y páselo a la impresora.

e.g. byte[] print = {0x1b,0x0c};

ahora pásalo a la impresora. Debe haber algún método como getCmd (), o writeCmd () etc. dependiendo de la impresora.

¿Cómo podemos ejecutar estos comandos ESC en Android programando? A continuación está el código para hacer eso

BuildinEx840 lpd=new BuildinEx840(); lpd.setMulticharMode(LinePrinterDeviceBase.CHARACTERSET_USA); //initialise Cutter lpd.initCutter(); LinePrinter lp=new LinePrinter(); lp.open(lpd); lpd.open(); try{ lpd.init(); }catch(IOException e){ e.printStackTrace(); } for(int i=0; i<5;i++){ lp.printNormal("Testing the Line Printer"); } int totalLinefeed=listofItemList.size(); //ESC CMD for line feeds byte[] lfs=new byte[]{0x1B,''d'', 5}; sendtoExprinter(lpd,lfs); //ESC CMD for paper cut lfs=new byte[]{0x1B,''i''}; sendtoExprinter(lpd, lfs); private void sendtoExprinter(BuildinEx840 dev, byte[] instr) { try{ dev.write(instr); }catch(IOException e){ e.printStackTrace(); } }

ACTUALIZACIÓN: impresión de una imagen a través de la impresora térmica

En algunas impresoras, puede definir la imagen en la memoria no volátil de la impresora y luego imprimir la imagen desde allí a través de ESC cmd 1C 70 01 30 . En algunas de las otras impresoras puede indicar una ruta directa de la imagen al imprimir una imagen a través de una impresora térmica.

En cualquier impresora de línea, tenemos que pasar la CMD ESC por esta printerObj.write (comando); camino. Quiero agradecer a la comunidad SO y un agradecimiento especial a TheBlastOne que me guió por el camino correcto.

Si alguien tiene algún problema para integrar impresoras térmicas, siéntase libre de preguntar.