2017-08-31 1 views
0

donc nous développons actuellement cette application qui imprime les reçus via bluetooth. Le processus fonctionne, mais notre seul problème est que nous ne pouvons pas imprimer la mise en page que nous voulions.Imprimer Alignement de deux texte différent sur la même ligne dans l'imprimante thermique Bluetooth Android

Nous voulions imprimer ainsi:

| ID Number:  123456789| 

où les champs sont à gauche par défaut, et les champs de droite sont générés automatiquement.

Nous avons essayé de contourner le problème, mais il semble que l'imprimante bluetooth ne lit qu'un seul alignement de texte.

Voici notre code actuel:

align=new byte[]{0x1B, 'a',0x00};  \\this is left alignment 
mmOutputStream.write(align); 
mmOutputStream.write(msg.getBytes()); 
align=new byte[]{0x1B, 'a', 0x02}; \\this is right alignment 
mmOutputStream.write(align); 
mmOutputStream.write(msg2.getBytes()); 

Et la sortie serait toujours l'alignement sur le dessus. Par exemple, lorsque nous définissons l'alignement supérieur sur la gauche. Il affichera juste comme ceci:

| ID Number:123456789  | 

J'espère que vous pourriez nous aider les gars, nous avons compris cela environ une semaine. Merci! :)

Répondre

0

Je suis avec détermination que créer la fonction comme ceci:

void writePrint(byte[] align, String msg){ 
    try { 
     mmOutputStream.write(align); 
     String space = " "; 
     int l = msg.length(); 
     if(l < 31){ 
      for(int x = 31-l; x >= 0; x--) { 
       space = space+" "; 
      } 
     } 
     msg = msg.replace(" : ", space); 
     mmOutputStream.write(msg.getBytes()); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 
} 

Et nous pouvons l'utiliser:

writePrint(PRINT_CENTER, "| ID Number : 123456789 |");