android蓝牙esc pos,printing - Android POS Printer ESC/POS - Stack Overflow

So I have been writing an Android app for a Bluetooth Printer for a while and I have realised that this is actually the ESC/POS standard: http://nicholas.piasecki.name/blog/wp-content/uploads/2009/12/ESC-POS-Command-Guide.pdf

Now the document I am using for my printer is a limited subset of these commands and can be found here: https://dl.dropboxusercontent.com/u/88265006/%E4%BA%A7%E5%93%81/Printer's%20user%20manual/SP-MP-300-Technical%20Manual.pdf

private void initPrinter() {

byte[] init = new byte[2];

init[0] = 0x1B;

init[1] = 0x40;

mService.write(init);

}

private void printText(String message){

byte[] send;

try{

send = message.getBytes("UTF8");

}

catch(UnsupportedEncodingException e){

send = "Error".getBytes();

}

initPrinter();

mService.write(send);

}

I can connect to the printer, initialise it with an "ESC @" command and I can write with the above commands, but I cannot seem to get any of the "visual" effects in terms of ANY kind of barcode. This is my attempt for a 1D EAN13 code (0000000000000):

byte[] height = new byte[3];

height[0] = 0x1D;

height[1] = 0x68;

height[2] = (byte)30;

//height[3] = 0;

byte[] width = new byte[3];

width[0] = 0x1D;

width[1] = 0x77;

width[2] = (byte)3;

byte[] textPos = new byte[3];

textPos[0] = 0x1D;

textPos[1] = 0x48;

textPos[2] = (byte)2;

byte[] level = new byte[3];

level[0] = 0x1D;

level[1] = 0x51;

level[2] = (byte)32;

byte[] code = new byte[18];

code[0] = 0x1D;

code[1] = 0x6B;

code[2] = 0x02;

code[3] = 0x0D;

code[4] = 0x30;//1

code[5] = 0x30;//2

code[6] = 0x30;//3

code[7] = 0x30;//4

code[8] = 0x30;//5

code[9] = 0x30;//6

code[10] = 0x30;//7

code[11] = 0x30;//8

code[12] = 0x30;//9

code[13] = 0x30;//10

code[14] = 0x30;//11

code[15] = 0x30;//12

code[16] = 0x30;//13

code[17] = 0x00;//end

mService.write(height);

mService.write(width);

mService.write(textPos);

mService.write(level);

mService.write(code);

Where mService actually writes the data. The best output I get is 0█0█0█0█0█0█0█0█0█0█0█0█0█0█ - after sending the data many times in a row.

If I remove the final end byte after multiple sends I get 14 0's, and I have also tried adding an ending 0 to the height, width, textPosition and level arrays, with no affect.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值