【发布时间】:2022-01-05 12:38:58
【问题描述】:
我正在使用在 linux/windows 和 android 上运行的软件。
在 linux 和 windows 上,它通过生成位图并通过ESC * 发送到串行热敏打印机来打印二维码。
在 android 上它使用蓝牙,但对于特定设备(具有 android 4.4 的平板电脑),打印机实际上是串行的。所以,它应该和在 linux 或 windows 上一样工作。
打印机自检打印一个二维码,所以我认为它确实支持二维码。我不知道它是哪个品牌/型号,搜索“80-IV-UR 热敏打印机”产量不多。
所以我继续尝试实施GS ( k。这就是我所在的地方:
GS ( k 165: 0x1D 0x28 0x6B 0x04 0x00 0x31 0x41 0x32 0x00 (n1 0x31, 模型 1)
GS ( k 167: 0x1D 0x28 0x6B 0x03 0x00 0x31 0x43 0x08 (n 0x08)
GS ( k 169: 0x1D 0x28 0x6B 0x03 0x00 0x31 0x45 0x31 (n 0x31, ECC M)
GS ( k 180: 0x1D 0x28 0x6B 0x0E 0x00 0x31 0x50 0x30 0x69 0x20 0x61 0x6D 0x20 0x61 0x20 0x74 0x65 0x73 0x74 (pL 14 pH 0 "我是一个测试")
GS ( k 181: 0x1D 0x28 0x6B 0x03 0x00 0x31 0x51 0x30 (m 0x30)
GS ( k 182: 0x1D 0x28 0x6B 0x03 0x00 0x31 0x52 0x30 (m 0x30)
但是,当打印机到达收据的这一部分时,它就会停止。
打印 1:打印 QR 之前的所有内容
打印 2:不打印任何内容
打印 3:打印 QR 之前的所有内容
打印 4:不打印任何内容
...
是我使用这些命令有误还是其他地方有问题?
GS ( k 182 (传输大小) 是可选的吗?
这些 ESC/POS 命令是否得到广泛支持?从什么时候开始?
GS的数据部分(k 180字节/十六进制也是如此还是应该是ASCII?
【问题讨论】:
-
打印机供应商必须是 EPSON,这一点很重要。如果不是EPSON,可能不支持ESC/POS控制序列。
-
@kunif 绝大多数供应商都支持爱普生的 ESC/POS 标准。我不知道这台特定打印机的供应商是哪家,但自检页面确实说明了“命令标准:EPSON(ESC/POS)”。
-
主要使用的命令会兼容。但对于 EPSON 以外的供应商而言,并非所有产品在每个细节上都兼容。您需要提供准确的供应商/型号信息或获取/提供该规范的文档。
-
@kunif 不幸的是我没有这样的信息,这是一个廉价的塑料盒,带有一个 android 平板电脑、一个串行热敏打印机和一个行显示器......猜测是为了。 :)
标签: c qr-code thermal-printer escpos