如何使用蓝牙热敏打印机打印发票收据
How print invoice receipt using bluetooth thermal printer
我必须使用热敏打印机打印发票收据。
我已经使用 Zjiang Thermal printer 打印收据。
他们还提供 manual 和演示项目。
在演示项目中,他们使用库 "btsdk.jar" 来实现连接和打印。
我已成功建立打印机与 android 设备之间的连接。
但是没有关于文本对齐方式(居中、左、右)和单元格宽度、高度的指南。
我have try it. It only change text height by changing format2变量。
如何通过蓝牙打印机打印发票。
也请解释这一段-
byte[] cmd = new byte[3];
cmd[0] = 0x1b;
cmd[1] = 0x21;
cmd[2] |= 0x10;
有什么用
在演示项目中向蓝牙打印机发送打印消息的代码
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
发票收据
我在互联网上找到了下图的文本对齐方式。希望对你有帮助
你可以用这个
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 派我来这里
我必须使用热敏打印机打印发票收据。 我已经使用 Zjiang Thermal printer 打印收据。 他们还提供 manual 和演示项目。 在演示项目中,他们使用库 "btsdk.jar" 来实现连接和打印。
我已成功建立打印机与 android 设备之间的连接。 但是没有关于文本对齐方式(居中、左、右)和单元格宽度、高度的指南。
我have try it. It only change text height by changing format2变量。
如何通过蓝牙打印机打印发票。
也请解释这一段-
byte[] cmd = new byte[3];
cmd[0] = 0x1b;
cmd[1] = 0x21;
cmd[2] |= 0x10;
有什么用
在演示项目中向蓝牙打印机发送打印消息的代码
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
发票收据
我在互联网上找到了下图的文本对齐方式。希望对你有帮助
你可以用这个
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 派我来这里