web-dev-qa-db-fra.com

Comment imprimer le reçu de facture en utilisant une imprimante thermique Bluetooth

Je dois imprimer le reçu de facture à l'aide d'une imprimante thermique. J'ai utilisé une imprimante thermique Zjiang pour imprimer un reçu. Ils fournissent également il manuel & projet de démonstration. Dans le projet de démonstration, ils utilisent un libray "btsdk.jar" pour implémenter connection & print.

J'ai réussi à établir la connexion entre l'imprimante et le périphérique Android. Mais il n'y a aucune directive pour alignement du texte (centre, gauche, droite) & largeur de la cellule, hauteur.

Je ai essayé . Il ne fait que changer la hauteur du texte en changeant le format 2 variable.

Comment j'imprime la facture avec une imprimante Bluetooth.

veuillez également expliquer cette section-

 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;

cmd 2 - utilisé pour modifier la hauteur de la police. Quelle est l'utilisation de cmd [0] & cmd 1

code à envoyer un message d'impression à une imprimante bluetooth dans un projet de démonstration

 String msg = "";
 byte[] cmd = new byte[3];
 cmd[0] = 0x1b;
 cmd[1] = 0x21;
 cmd[2] |= 0x10;
 mService.write(cmd);           
 mService.sendMessage("Congratulations!\n", "GBK"); 
 cmd[2] &= 0xEF;
 mService.write(cmd);          
 msg = "  You have sucessfully created communications between your device and our bluetooth printer.\n\n"
      +"  the company is a high-tech enterprise which specializes" +
        " in R&D,manufacturing,marketing of thermal printers and barcode scanners.\n\n";
 mService.sendMessage(msg,"GBK");

Infos d'impression -

       parameters:support to download the Logo trademark
       FontA:12*24 dots,1.5(W)*3.0(H) mm
       FontB:9*17 dots, 1.1(W)*2.1(H) mm
       Simplified/Traditional: 24*24 dots, 3.0(W)*3.0(H)
       Line spacing: 3.75mm (Default)
       Barcode Types:-
       1D Barcode- UPC-A/UPC-E, JAN13(EAN13), JAN8(EAN8), CODE39/ITF, CODABAR,CODE93
       2d Barcode- QR CODE

Reçu facture

enter image description here

15
mukesh

J'ai trouvé l'image suivante sur Internet pour l'alignement du texte. J'espère que ça aide

enter image description here

tu peux utiliser ça

void printLine(String txt, char type){
    byte[] format = { 27, 33, 0 };
    byte[] arrayOfByte1 = { 27, 33, 0 };

    if (type == 'b') {
        format[2] = ((byte) (0x8 | arrayOfByte1[2])); //BOLD
    }
    if (type == 'h') {
        format[2] = ((byte) (0x10 | arrayOfByte1[2])); //HEIGHT
    }
    if (type == 'w') {
        format[2] = ((byte) (0x20 | arrayOfByte1[2])); //WIDTH
    }
    if (type == 'u') {
        format[2] = ((byte) (0x80 | arrayOfByte1[2])); //UNDERLINE
    }
    if (type == 's') {
        format[2] = ((byte) (0x1 | arrayOfByte1[2])); //SMALL
    }
    mService.write(format);
    mService.sendMessage(txt,"GBK");
}

le mérite revient à Leonardo Sapuy et à son original q/a Format du texte en imprimante Bluetooth

0
Jaxx0rr