EPSON票据打印机打印LOGO图片的一种方法

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq870841070/article/details/79841201

之前用过一个进入点阵图模式的ESC指令来打印Logo图片,但是打印出来的效果很差劲

今天发现一种打印图片的办法打印出来的效果比较好,其过程就是先把BMP图片文件上传到打印机设备中,然后在发送一串自定义指令就可以打印出来Logo了,这里是拿EPSON打印机来举例

1. 安装打印机驱动

    因为驱动程序里面有上传BMP图片到打印机的功能,装好驱动后选择打印机右键 属性你就可以看到如下图

    

   点击Logo按钮即可打开logo上传程序了

  

  首先在这个界面点击 Open file.. 选择一张BMP格式的图片,如果提示不支持,那么请到这个网址转换一下BMP格式

  在线转换BMP格式

  

 这个界面是上传选项卡,key code选择 Custom,然后我们填入一个自定义Code 48,49 ,为什么要填入key Code?

 因为可以上传多张BMP图片,发送打印的时候这个key code就尤为关键了,最后就点击Upload Device,当提示成功后进入Logo Printout选项卡

 

 在这个界面看到了有Get key code按钮,点击这个按钮即可获取所有上传的图片的key code,获取到之后就可以选择一个key code然后点击print按钮即可打印了

2. 发送的指令

  当我点击Print按钮的时候,此时这个程序发送打印图片指令给打印机,如果程序想要调用肯定要得知发送了什么指令吧,

所以我就下载了个串口指令监听工具,监听内容如下


最后得知关键是这行指令来打印图片的,其中关键的就是30,31 因为这里是十六进制的,如果把30,31转换成十进制就是 48,49

所以30,31就是key code

1B 40 1D 28 4C 06 00 30 45 30 31 01 01

 最后用代码写入一段这样的byte数组就可以打印logo了

 comm.Write(new byte[] { 0x1B, 0x40, 0x1D, 0x28, 0x4C, 0x06, 0x00, 0x30, 0x45, 0x30, 0x31, 0x01, 0x01 });

 这样的打印默认是左对齐方式,如果想要打印的图片居中,请在图片左边填补空白内容

 最后附上一张效果图

 

猜你喜欢

转载自blog.csdn.net/qq870841070/article/details/79841201