相关文章推荐

之前用过一个进入点阵图模式的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...
 
推荐文章