Android 在收据上打印条形码

Android 在收据上打印条形码,android,printing,Android,Printing,我是Android新手,一直在尝试在我的收据上打印条形码,在查看了我的打印机手册(顺便说一下是Zicox热敏打印机)后,我发现: 这是我第一次在安卓系统上使用打印机,我觉得这完全是胡说八道。我知道我应该向打印机发送打印条形码的命令,因此我尝试了ff: 首先是常数: public static byte[] PRINT_BARCODE = {29, 107, 73}; 然后将命令与我的条形码一起写入我的输出流: mOutputStream.write(PrinterCommands.PRIN

我是Android新手,一直在尝试在我的收据上打印条形码,在查看了我的打印机手册(顺便说一下是Zicox热敏打印机)后,我发现:

这是我第一次在安卓系统上使用打印机,我觉得这完全是胡说八道。我知道我应该向打印机发送打印条形码的命令,因此我尝试了ff:

首先是常数:

public static byte[] PRINT_BARCODE = {29, 107, 73};
然后将命令与我的条形码一起写入我的输出流:

mOutputStream.write(PrinterCommands.PRINT_BARCODE);
mOutputStream.write("12345689010".getBytes());

但这并没有起作用,打印机闪烁了几下就睡着了。LCD显示屏上显示“Zzzzz”。

我不确定m的实际值应该是多少。显然介于65和73之间,但也应为0、1、2或3以选择条形码类型。无论如何,您仍然必须在
m
和序列之间写入位数
n
。在您的情况下,
(byte)12
,因为您使用的是格式2。您可能希望先使用格式1将0、1或2作为
m
发送。(不知道您使用的条形码格式)据我所知,m选择条形码系统。所以73在这种情况下,根据表中的代码是128OK,对于表中的其余部分是有意义的。因此,您只需在
m
和条形码之间输入数字
n
。您的格式显示
29 107 m**n**d1…dn
m表示代码128,n表示条形码中的12位数字。