【问题标题】:Android ESC W print areaAndroid ESC W 打印区
【发布时间】:2017-01-29 18:23:46
【问题描述】:

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

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

ESC W xL xH yL yH dxL dxH dyL dyH。

在页面模式下设置打印区域

[范围] 0≤ xL xH yL yH dxL dxH dyL dyH ≤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 左右高度的正确方法有什么想法吗?作为一种解决方法,我可以逐个打印,但我确信有更好的方法。

【问题讨论】:

  • 您使用什么编程语言?什么是printer.write(new byte[]{0});或者 new byte[]{0x30} 是什么意思?它是否向打印机发送 0x00 或 0x30?请更准确....

标签: android printing thermal-printer escpos


【解决方案1】:

亚历克斯,

页面模式下打印的最大尺寸为 832x1732 点(第 47 个命令解释),根据文档:dpp450.pdf

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

【讨论】:

  • 我已退回打印机。我要求支持在页面模式下设置更大的高度并个性化字符大小。小文本不可读,中号发票的高度为 0.5m。您是否设法设置了不同的高度和字符大小?
  • 通过基本配置,我可以打印大约 1 厘米高的文本,这取决于您使用的字体。字体可以“上传”到打印机,我还没有尝试过,因为我想我需要一根 USB 10 针 串行电缆。我使用这台打印机打印 50 毫米高的标签,我没有遇到同样的问题......如果你愿意,我可以通过电子邮件向你发送一些适用于这台打印机的 android 应用程序示例,我本周与巴西供应商取得了联系。我使用带有 Ionic 的打印机 API,我没有使用原生 android 开发,但是函数调用是相同的,因为 API 是用 java 编写的......
  • 让我知道您发送文件的电子邮件。
  • 我有文档。但是在默认情况下,我可以使用 printTaggedText (如果我记得正确的函数),它的参数是 {s} - 小,没有 - 正常,{h} - 高,{w} - 宽。我需要 {s} 和正常之间的字符大小来打印发票。对于小文本,老年人在阅读时会遇到问题。使用普通文本,20 位发票将超过 0.5 米。我已退回打印机并且不会再次使用它,因为我对支持团队感到失望。我不会在不提供支持的产品上开发昂贵的东西。
猜你喜欢
  • 2014-12-14
  • 2011-10-06
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 2014-08-25
  • 1970-01-01
  • 2020-10-19
  • 2020-02-11
相关资源
最近更新 更多