ESC-POS代码用于在页面模式下打印图像数据

3

我在页面模式下打印图像数据遇到了困难。我已经能够在标准模式下打印图像数据,如下所示:

   data[] = { ESC   , 
              '*'   ,
                0   , // 8-dot single density mode
              width , // nl: image width
                0   } // nh: image width

   for each 8 x image_width block of pixels in a monochrome image
        for each 8 x 1 (vertical) strip of pixels in the block
             append pixel (0 or 1) data to the array, data[]
        write data to COM port

我(不成功的)尝试以页面模式打印是以上述方式的变体,并按照以下步骤进行:

     select page mode by writing the chars, ESC and 'L' to the COM port
     write pixel data as described above
     print by writing the characters ESC and FF

我做错了什么?我需要指定打印区域或类似的东西吗?
顺便说一下,我正在编程一个爱普生TM-T88III打印机。

我也在Android上开发打印机相关的工作。请问您能告诉我如何在Android中执行POS ESC命令吗? - Naresh Sharma
我的查询是https://dev59.com/7WUo5IYBdhLWcg3w3ymi。 - Naresh Sharma
@NareshSharma 很抱歉,我无法提供帮助,因为我不熟悉您正在使用的设备。我不通过任何驱动程序打印,而是向打印机发送“原始”的ESC/POS命令。抱歉。 - Olumide
我们如何向打印机发送原始的ESC/POS命令?你能给我展示一下吗? - Naresh Sharma
打印机会将发送给它的字符解释为命令序列。例如,我经常使用“echo Anthing > com3”来测试计算机和打印机之间的通信,其中com3是我的打印机连接的串行端口。请注意,这对于USB端口不起作用。 - Olumide
感谢您的回复,我会尝试从中了解如何与打印机一起工作。 - Naresh Sharma
1个回答

4
发现答案。在每个像素8 x 图像宽度的块写入后,向 COM 端口写入 ESC J n(打印和纸张进纸)命令。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接