如何使用ESC / POS命令打印图像?

时间:2016-04-30 08:34:35

标签: c# .net printing thermal-printer escpos

我有一台Epson-TMH6000III热敏打印机,我想用ESC / POS命令打印一些位图。

但在此之前我想用ESC / POS打印图像命令打印一个非常简单的单行。

这是我的尝试:

#cntr

我没有得到结果。我很感激你的帮助。

2 个答案:

答案 0 :(得分:1)

一个问题似乎是在数据之前放置标题。如果我正确阅读,你发送:

ESC <density byte> <size data> <data ..>

由于ESC本身不是图像打印命令,因此您需要调整实施以匹配ESC / POS图像打印命令。我将假设您的实现几乎完整,您可以访问已经描述这些命令的文档:

GS v 0
GS ( L
ESC *

要检查您的实施,您可以从项目escpos-phppython-escpos移植一些单元测试,这两个项目都支持图像打印。

例如,通过GS v 0打印单个黑色像素的语法是(source):

\x1d v 0 \x00 \x01 \x00 \x01 \x00 \x80
(non-printable ASCII characters shown here as hex codes)

这些字节的含义是:

GS v 0 <density byte> <4 bytes image size data> <1 byte data>

答案 1 :(得分:1)

对于最初的问题可能太晚了,但是为了将来的参考,因为在找到如何使用POS将位图像发送到打印机之前,我一直在搜索自己。

在几个选项中,似乎最简单的一个是使用“ ESC * 0 ”命令后跟字节数(2个字节,高和低),实际数据然后一个“\ n”。

如果您搜索“ESC *选择位图”,该命令的所有详细信息/规格都在手册中,但知道此选项存在并且它相对简单和快速实际上是非常棘手的...

您还可以在Haskell中找到具体的代码示例,并在this post上找到更多详细信息。