gpt4 book ai didi

Android POS 打印机 ESC/POS

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:59:16 29 4
gpt4 key购买 nike

所以我一直在为蓝牙打印机编写 Android 应用程序一段时间,我意识到这实际上是 ESC/POS 标准:http://nicholas.piasecki.name/blog/wp-content/uploads/2009/12/ESC-POS-Command-Guide.pdf

现在我为打印机使用的文档是这些命令的有限子集,可以在这里找到: 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);
}

我可以连接到打印机,用“ESC @”命令初始化它,我可以用上面的命令写,但我似乎无法获得任何类型条形码的任何“视觉”效果。这是我对 1D EAN13 代码 (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);

mService实际写入数据的地方。我得到的最佳输出是 0█0█0█0█0█0█0█0█0█0█0█0█0█0█ - 在连续多次发送数据之后。

如果我在多次发送后删除最后一个结束字节,我会得到 14 个 0,并且我还尝试将结尾 0 添加到高度、宽度、textPosition 和级别数组,但没有任何影响。

我还查看了以下地方: http://www.manualslib.com/manual/689542/Axiohm-A795.html?page=91
http://pyramidacceptors.com/phoenix-printer/esc-pos-command-set/
http://www.vbforums.com/showthread.php?754493-RESOLVED-Printing-Barcode-with-ESC-POS-on-Epson-Printers
http://www.manualslib.com/manual/753647/Axiohm-A630.html?page=51
https://www.sparkfun.com/datasheets/Components/General/Driver%20board.pdf
Where can I find a "ESC/POS" Epson Barcode Test Program?

最佳答案

好的,事实证明,在 ESC/POS 中,打印机实际上为您计算了一些数据。我不应该将校验字节(实际条形码的最后一位)放在我发送给打印品的数据中。

当然,我的文档缺少所有 <= 符号也于事无补。我最终使用此文档寻求帮助:http://content.epson.de/fileadmin/content/files/RSD/downloads/escpos.pdf

我仍在研究 QR 码打印,但我很确定我的问题有些相似。

关于Android POS 打印机 ESC/POS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26442722/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com