Как распечатать получение счета-фактуры с использованием bluetooth-термопринтера

Мне нужно распечатать счет-фактуру с помощью термопринтера. Я использовал Термальный принтер Zjiang для печати квитанции. Они также предоставляют руководство и демонстрационный проект. В демонстрационном проекте они используют libray "btsdk.jar" для реализации соединения и печати. ​​

Я успешно установил соединение между принтером и устройством Android. Но нет ориентиров для выравнивания текста (в центре, влево, вправо) и ширины ячейки, высоты.

I попробуйте. Он изменяет только высоту текста, изменяя формат 2.

Как распечатать счет-фактуру с помощью принтера bluetooth.

, пожалуйста, также объясните этот раздел -

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

cmd 2 - используется для изменения высоты шрифта что используется cmd [0] и cmd 1

код для отправки Печать сообщения на bluetooth Принтер в демонстрационном проекте

 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");

Информация о печати -

       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

Получение счета

enter image description here

Ответы

Ответ 1

Я нашел следующее изображение через Интернет для выравнивания текста. Надеюсь, что это поможет.

enter image description here

Ответ 2

вы можете использовать этот

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");
}

кредит принадлежит Леонардо Сапую и его оригинальному q/a Форматировать текст в принтере bluetooth и благодаря Муртазе Хуршиду Хусейну за то, что он меня послал.