Android ESC W打印区域

时间:2017-01-29 18:23:47

标签: android printing thermal-printer escpos

我有一台Datecs DPP-450 ESC POS热敏打印机,附带API。

我可以通过蓝牙成功打印,因为API提供了连接,打印文本和边框的简单代码,但我无法将页面高度设置为大于2000+(我认为是点)。我正在打印发票,我需要高于2000的身高。我在互联网上搜索并找到:

  

ESC W xL xH yL yH dxL dxH dyL dyH。

     

以页面模式设置打印区域

     

[范围]0≤xLxH yL yH dxL dxH dyLdyH≤255(dxL = dxH = 0或dyL = dyH = 0除外)

     

[描述]水平起始位置,垂直起始位置,打印区域宽度和打印区域高度分别定义为x0,y0,dx,dy。   可打印区域的每个设置计算如下:

     

x0 = [(xL + xH x 256)x(水平运动单位)]

     

y0 = [(yL + yH x 256)x(垂直运动单位)]

     

dx = [(dxL + dxH x 256)x(水平运动单位)]

     

dy = [(dyL + dyH x 256)x(垂直运动单位)]

,但无法使其发挥作用。

显示的代码不多,我试过了:

printer.reset();
printer.write(new byte[]{0x1B});
printer.write(new byte[]{0x57});
printer.write(new byte[]{0});  OR new byte[]{0x30}
printer.write(new byte[]{0});  OR new byte[]{0x30}
printer.write(new byte[]{0});  OR new byte[]{0x30}
printer.write(new byte[]{0});  OR new byte[]{0x30}
printer.write(new byte[]{64}); OR new byte[]{0x36, 0x34}
printer.write(new byte[]{3});  OR new byte[]{0x33}
printer.write(new byte[]{96}); OR new byte[]{0x39, 0x36}
printer.write(new byte[]{11}); OR new byte[]{0x31, 0x31}
printer.selectPageMode();  // make printer enter PAGE MODE

任何正确的方法来获得5000左右的高度?作为一种解决方法,我可以逐个打印,但我确信有更好的方法。

1 个答案:

答案 0 :(得分:0)

亚历,

页面模式下打印的最大尺寸为832x1732点(第47个命令说明)记录文档:dpp450.pdf

我也在DPP-450项目中工作,一些高级的东西真的很难发现,API并没有涵盖所有内容,如果你需要更高级的东西,你需要使用“字节到字节”的命令,我猜测。