如何使用蓝牙热敏打印机打印发票收据

时间:2015-05-18 05:51:01

标签: android android-bluetooth thermal-printer

我必须使用热敏打印机打印发票收据。 我使用Zjiang Thermal printer打印收据。 他们还提供manual&演示项目。 在演示项目中,他们使用libray“btsdk.jar”来实现连接&打印。

我已成功建立打印机和打印机之间的连接; android设备。 但是没有文本对齐(中心,左,右)和&的指南。单元格宽度,高度。

have try it。它只会通过更改格式2变量来更改文本高度。

如何通过蓝牙打印机打印发票。

请解释此部分 -

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

cmd 2 - 用于更改字体高度 什么是cmd [0]& CMD 1

代码将打印消息发送到演示项目中的蓝牙打印机

 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

2 个答案:

答案 0 :(得分:6)

我在互联网上找到了以下用于文本对齐的图像。希望它有所帮助

enter image description here

答案 1 :(得分:0)

你可以用这个

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

归功于Leonardo Sapuy和他原来的q / a Format text in bluetooth printer 并感谢Murtaza Khursheed Hussain送我去看它