(票据/标签)打印机编程手册命令原理详细解析

摘要:
最近,该公司使用票据打印机编程手册的说明来测试成品。需要深入理解打印命令,以便更好地掌握其原理和用途。选择打印模式;ESC和!指令通过套接字流发送,因此字符串只能转换为字节流,然后发送到打印机。https://www.cnblogs.com/rinack/p/5227133.html二、标签打印编程手册的原理与上述基本相同,但区别在于打印方法和说明不同,可以相互学习。

最近在公司使用票据打印机编程手册指令对成品进行测试检测,对打印命令需要深入理解,才能更好掌握它的原理和使用。
一、票据打印编程手册
相关打印机的打印指令/编程手册可以在网络上找到茫茫多的资源。

(票据/标签)打印机编程手册命令原理详细解析第1张

像类似LF ESC开头的,并不是代表字符串,他们都是ASCII码表里排名靠前的控制字符,通过套接字传送的数据是流,而流的本质是一个个的字节,所以这些命令中,一个符号代表一个字节,而字节的值在每条命令的详解里面有参考值。
可以对照ASCII码表对照,比如LF在第10位,十六进制是0x0A,是换行键的意思;ESC在27位,十六进制0x1B,是换码(溢出)的意思。

比如ESC ! 选择打印模式;ESC和!都是ASCII码的值。
ASCII码 ESC ! n
十六进制码 1B 21 n
十进制码 27 33 n

(票据/标签)打印机编程手册命令原理详细解析第2张

(票据/标签)打印机编程手册命令原理详细解析第3张

主要变化是n,n是一个数字,在0-255之间取得变化,它这里有8个位(刚好一个字节)可以设置,每个位的1/0代表开关的开启和关闭,比如要设置加粗,那么n的第三位应该是1也就是2^3=8,十六进制是0x08,所以整个命令下来就是0x1B,0x21,0x08。

知道了原理,可以把整个编程手册的指令融会理解。

把指令发送给打印机,打印机通过socket来提供服务,可以直接用socket发送指令。(相关socket网络编程会在另外文章更新)

通过socket的流来发送指令,所以只能把字符串转换为字节流,再传送给打印机。不同字符,比如中文,在转换字节流的时候需要设置不同的编码。

以上的命令格式在小票热敏打印机一般是通用的,不同的是提供打印服务的方式,有的通过网络来提供套接字服务,有些通过COM串口来提供服务,不同的服务都可以转化为流来处理,所以本质上是差不多的。

除此之外,企业可根据自身需求设计windows动态链接库测试界面,可以在打印机连接USB后直接通过电脑操作打印测试,高效便捷。

以下整理打印机常用的ASCII码对照

0X04:EOT:传输结束
0x05:ENQ:请求
0x09:HT:水平制表符
0x0A:LF:换行键
0x10:DLE:数据链路转义
0x11-14:DC1-4:设备控制1-4
0x1B:ESC:换码(溢出);在打印机中以该字符为起始的指令将立即响应,即使在错误状态也实时回应。
0x1C:FS:文件分隔符
0x1D:GS:分组符
0x1E:RS:记录分隔符
0x20:SP :空格
0x7E:~:起始的指令用于查询打印机状态

在网上看到有相关的C#打印机ESC指令,可以用作学习借鉴。
https://www.cnblogs.com/rinack/p/5227133.html

二、标签打印编程手册

原理上与上文大致相同,不同的是打印方式和指令不同,可以相互学习理解。
一个标签通常包含三个部分,即系统设定(蓝)、打印内容设定(绿)和执行打印指令(红)。

(票据/标签)打印机编程手册命令原理详细解析第4张

系统设定:包括标签尺寸SIZE、GAP和清除缓存区数据指令CLS等。
打印内容设定:打印文本或设计指令内容。
执行打印指令:用于打印设计好的标签,此指令发送后才执行打印动作。
每一条指令结尾都 需要加入换行符,即字符串“ ”或16进制0x0D 0x0A

举例说明:PRINT指令:用于打印出存储影像缓冲区内的数据

(票据/标签)打印机编程手册命令原理详细解析第5张

其他不同的指令有不同的参数,实际需要参考编程手册具体更改x,y,height,rotation(条码旋转角度),narrow/wide(窄宽比),code type等等。

转:https://blog.csdn.net/zxh1592000/article/details/78840372

https://gitee.com/smslit/EmbeddedPrinter

 https://www.docin.com/p-1913052817.html

免责声明:文章转载自《(票据/标签)打印机编程手册命令原理详细解析》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle客户端安装配置、绿色版Oracle客户端配置使用PLSQLlayui监听工具栏(操作列表按钮)下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

nc使用详解

nc是netcat的简写,有着网络界瑞士军刀的美誉。 它的主要作用如下: 1)  实现任意TCP/UDP端口的侦听,nc可以作为server以TCP或UDP方式侦听指定的端口 2)  端口的扫描,nc可以作为client发起TCP或UDP连接 3)  机器之间传输文件 4)  机器之间网络测速 命令格式及参数: 想要连接到某处: nc [-options]...

SQLite学习笔记

安装 在Windows上安装SQLite。 访问官网下载下Precompliled Binaries for Windows的两个压缩包。 创建sqlite文件夹,路径不要包含中文,把压缩包的内容解压到文件夹中。再将这个文件添加进PATH环境变量中。 此时打开命令行窗口输入sqlite3,将会出现对应提示,表示安装完成。 SQLite命令 在命令行窗口输...

Thinkphp6笔记二:开启多应用模式

开启多应用模式1.首先刪除app目录下所有其他文件2.安装多应用模式扩展: composer require topthink/think-multi-app3.创建三大应用index(前端),admin(后台),common(公共应用)命令:php think build index命令:php think build admin命令:php think...

db2 reorg详解

reorgchk,检查table index 是否需要重组。reorg 重组,重新放置数据位置。runstats 统计信息,可以优化查询器 一个完整的日常维护规范可以帮助 DBA 理顺每天需要的操作,以便更好的监控和维护数据库,保证数据库的正常、安全、高效运行,防止一些错误重复发生。 由于DB2使用CBO作为数据库的优化器,数据库对象的状态信息对数据库使用...

mysql常用语句、命令(增删改查功能)

修改数据库的字符集mysql>use mydbmysql>alter database mydb character set utf8;创建数据库指定数据库的字符集mysql>create database mydb character set utf8; 查看database的字符集! show variables like 'coll...

Linux温习(三)Linux文件和文件夹管理

关于Linux文件夹的几个常见概念 路径对文件位置信息的描写叙述机制。是指从树型文件夹中的某个文件夹层次到其内某个文件的一条通路。分为相对路径和绝对路径; 工作文件夹登入系统后。用户始终处于某个文件夹中,此文件夹即为工作文件夹。或称作当前文件夹 根文件夹Linux树型文件夹结构的最顶层文件夹 用户“家”文件夹也称用户主文件夹,一般是位于/hom...