之前用过一个进入点阵图模式的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 });
这样的打印默认是左对齐方式,如果想要打印的图片居中,请在图片左边填补空白内容
最后附上一张效果图
前言: 看到本文的你,一定会是看过各种博客说如何进行“批量
打印
”,也有很多说了一些“指定区域
打印
”的,各种博客都不能满足你在开发中的定制开发?那本文就带你简单、通俗易懂地进行开发
打印
功能。
一、先创建最原始、最简单的html、css、js、img四个文件夹。
1、html: 按平常的创建html无异
2、css: 最重点的是,想要
打印
上下有空隙。可以这样设置:
<style media=...
下面是全部指令的简明列表,放在这里方便参考。之后重要的指令,勇哥要拿出来单独学习。系统管理相关命令Reset 将控制器重置为初始状态。SysConfig 显示系统设置参数。SysErr 返回最新的错误状态或警告状态。Date 显示日期。Time 显示时间。Date$ 以字符串返回日期的函数。Time$ 以字符串返回系统时间的函数。Hour 显示控制器的累计通电时间。Stat 返回控制器的状态位。C...
最近写了一些关于小票
打印机
的程序,不难,但是记录下来,作为足迹吧。现在市场上的小票机基本都支持
EPSON
指令。指令集文档对指令集进行了自己的封装,方便以后调用:package aheiziUtil;import java.io.UnsupportedEncodingException;public class PrinterCmdUtils {public static final byte ES...