该打印控制命令(WPSON StandardCode for Printer)是EPSON公司自己制定的针式打印机的标准化指令集,现在已成为针式打印机控制语言事实上的工业标准。ESC/POS打印命令集是ESC打印控制命令的简化版本,现在大多数票据打印都采用ESC/POS指令集。其显著特征是:其中很大一部分指令都是以ESC控制符开始的一串代码。 ### ESC/POS指令集知识点详解 #### 一、ESC/POS指令集概述 **ESC/POS** 是一种广泛应用于针式打印机(特别是票据打印机)的标准指令集,它由EPSON公司开发并推广。ESC/POS指令集是ESC打印控制命令的一个简化版本,目前已经成为针式打印机控制语言的事实标准。该指令集的一大特点是大部分命令都是以 **ESC** 控制字符开头的字符串。 #### 二、常用ESC/POS控制指令详解 ##### 1. HT 横向跳格 **格式**: - ASCII: HT (0x09) - Hex: 09 - Decimal: 9 **描述**: 将打印位置移动到下一个横向跳格位置。 **注释**: - 如果下一个跳格位置未设置,则该指令被忽略。 - 若下一跳格位置超出打印区域,打印位置会被设置为 [打印宽度 + 1]。 - 跳格位置由 `ESCD` 指令设置。 - 如果接收指令时打印位置已在 [打印宽度 + 1],则打印机执行行缓冲区满的操作,并将打印位置移至下一行的起始位置。 - 默认的跳格位置是每8个标准ASCII字符 (12×24) 字符跳一格。 - 当前行缓冲区满时,打印机打印当前行内容并将打印位置置于下一行的起始位置。 **参考**: - `ESCD` ##### 2. LF 打印并走纸一行 **格式**: - ASCII: LF (0x0A) - Hex: 0A - Decimal: 10 **描述**: 打印当前行缓冲区内的数据并使纸张前进一行。 **注释**: - 该指令会将打印位置重置到行首。 **参考**: - `ESC2`, `ESC3` ##### 3. ESC $SPn 设置字符右间距 **格式**: - ASCII: ESC $ SPn (n 为参数) **描述**: 设置字符间的水平间距。 ##### 4. ESC !n 选择打印模式 **格式**: - ASCII: ESC !n (n 为参数) **描述**: 选择不同的打印模式,如正常模式或加强模式等。 ##### 5. ESC $nLnH 设置绝对打印位置 **格式**: - ASCII: ESC $ nLnH (n, L, H 为参数) **描述**: 设置打印位置的绝对坐标。 ##### 6. ESC *mnLnHd1dk 选择位图模式 **格式**: - ASCII: ESC *mnLnHd1dk (m, n, L, H, d1, dk 为参数) **描述**: 选择位图打印模式,通常用于打印复杂的图形或图像。 **注释**: - 该指令不受某些其他指令的影响,例如位图、自定义位图、条形码等。 ##### 7. ESC –n 选择/取消下划线模式 **格式**: - ASCII: ESC –n (n 为参数) **描述**: 选择或取消文本下的下划线模式。 ##### 8. ESC 2 设置默认行高 **格式**: - ASCII: ESC 2 **描述**: 设置默认的行高。 ##### 9. ESC 3n 设置行高 **格式**: - ASCII: ESC 3n (n 为参数) **描述**: 设置特定的行高。 ##### 10. ESC @ 初始化打印机 **格式**: - ASCII: ESC @ **描述**: 初始化打印机,清除所有设置并恢复到出厂默认状态。 ##### 11. ESC Dn1nkNUL 设置横向跳格位置 **格式**: - ASCII: ESC Dn1nkNUL (n1, nk 为参数) **描述**: 设置横向跳格的位置。 ##### 12. ESC E n 选择/取消加粗模式 **格式**: - ASCII: ESC E n (n 为参数) **描述**: 选择或取消文本的加粗模式。 ##### 13. ESC G n 选择/取消双重打印模式 **格式**: - ASCII: ESC G n (n 为参数) **描述**: 选择或取消文本的双重打印模式,即每个字符打印两次。 ##### 14. GS !n 选择字符大小 **格式**: - ASCII: GS !n (n 为参数) **描述**: 选择字符的大小。 ##### 15. GS B n 选择/取消黑白反显打印模式 **格式**: - ASCII: GS B n (n 为参数) **描述**: 选择或取消黑白反显打印模式。 **注释**: - 黑白反显打印模式比下划线模式有更高的优先级。当启用黑白反显模式时,下划线模式无效;只有在取消黑白反显模式之后,下划线模式才会生效。 ##### 16. GS H n 选择HRI字符的打印位置 **格式**: - ASCII: GS H n (n 为参数) **描述**: 选择HRI (Human Readable Information) 字符的打印位置。 ##### 17. GS L nLnH 设置左边距 **格式**: - ASCII: GS L nLnH (n, L, H 为参数) **描述**: 设置左边距。 ##### 18. GS W nLnH 设置打印区域宽度 **格式**: - ASCII: GS W nLnH (n, L, H 为参数) **描述**: 设置打印区域的宽度。 ##### 19. GS h n 选择条码高度 **格式**: - ASCII: GS h n (n 为参数) **描述**: 设置条形码的高度。 ##### 20. GS k md1dk ①/ GS kmnd1dn ② 打印条码 **格式**: - ASCII: GS k md1dk (用于打印条码) - ASCII: GS kmnd1dn (用于打印条码) **描述**: 用于打印条形码。 **注释**: - 这些指令可以用于设置和打印各种类型的条形码。 ##### 21. GS v 0mxLxHyLyHd1.dk 打印光栅位图 **格式**: - ASCII: GS v 0mxLxHyLyHd1.dk (m, xL, yL, xH, yH, d1, dk 为参数) **描述**: 用于打印光栅位图图像。 ##### 22. GS w n 设置条码宽度 **格式**: - ASCII: GS w n (n 为参数) **描述**: 设置条形码的宽度。 ##### 23. GS (kpLpHcnfn 设置及打印二维码 **格式**: - ASCII: GS (kpLpHcnfn (用于设置二维码) **描述**: 用于设置和打印二维码。 **注释**: - 包括设置二维码块大小、纠错等级等功能。 ##### 24. 汉字字符控制命令 - **FS !n 设置汉字字符模式** - **格式**: ASCII: FS !n (n 为参数) - **描述**: 设置汉字打印模式。 - **FS & 选择汉字模式** - **格式**: ASCII: FS & - **描述**: 选择汉字打印模式。 - **FS -n 选择/取消汉字下划线模式** - **格式**: ASCII: FS -n (n 为参数) - **描述**: 选择或取消汉字的下划线模式。 - **FS . 取消汉字模式** - **格式**: ASCII: FS . - **描述**: 取消汉字打印模式。 - **FS C n 选择双字节字符编码系统** - **格式**: ASCII: FS C n (n 为参数) - **描述**: 选择双字节字符的编码系统。 - **FS S n1n2 设置汉字字符左右间距** - **格式**: ASCII: FS S n1n2 (n1, n2 为参数) - **描述**: 设置汉字字符间的左右间距。 - **FS W n 选择/取消汉字倍高倍宽** - **格式**: ASCII: FS W n (n 为参数) - **描述**: 选择或取消汉字的倍高倍宽模式。 #### 三、默认选项设置 - **USE SCUS m n 选择双字节字符编码系统** - **格式**: ASCII: USE SCUS m n (m, n 为参数) - **描述**: 选择双字节字符编码系统。 - **USE SCUS m n 选择国际字符集** - **格式**: ASCII: USE SCUS m n (m, n 为参数) - **描述**: 选择国际字符集。 - **USE SCUS m n 选择/取消汉字模式** - **格式**: ASCII: USE SCUS m n (m, n 为参数) - **描述**: 选择或取消汉字模式。 - **USE SCUS m n 选择国际扩展字符码表** - **格式**: ASCII: USE SCUS m n (m, n 为参数) - **描述**: 选择国际扩展字符码表。 - **USE SCUS r m(d0d1d2d3) 改写打印机寿命记录数据** - **格式**: ASCII: USE SCUS r m(d0d1d2d3) (r, m, d0, d1, d2, d3 为参数) - **描述**: 修改打印机的寿命记录数据。 #### 四、特殊指令说明 - **开钱箱指令** - **格式**: byte[5]: 0x10 0x14 0x00 0x00 0x00 - **描述**: 触发打开钱箱的动作。 - **切刀指令** - **格式**: 全部切割: byte[4]: 0x1D 0x56 0x42 0x00 - **描述**: 执行完全切割纸张的操作。 - **格式**: 切割(左边留一点不切): byte[4]: 0x1D 0x56 0x41 0x00 - **描述**: 执行部分切割纸张的操作,左侧保留一定的宽度。 以上便是ESC/POS指令集中的一些常用控制命令及其详细解释。这些指令为开发人员提供了丰富的功能来控制和定制打印任务,包括文本格式、图形图像处理、条形码和二维码打印等。熟悉这些指令可以帮助开发者更好地利用ESC/POS打印机的能力,提高打印质量和效率。
















剩余25页未读,继续阅读


- 粉丝: 0
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 网络安全工程实验书.doc
- 第3章-建筑安装工程定额.ppt
- 污水处理厂运营维护方案p.doc
- BIM技术在铁路隧道工程施工管理中的应用.doc
- 大数据时代数据新闻的实践浅析-以财新网数字说为例.docx
- 做高级软件工程师首选计算器学校一度教育软工培训.doc
- 大数据时代的医学院校数据结构课程教学改革初探.docx
- 涂膜防水屋面施工工艺标准.docx
- 公路土方路基施工方法.doc
- 关于水头损失根源的水力学理论探讨.docx
- 万科在给排水设计阶段的44个成本优化点.docx
- 工程质量管理关键控制点研究.doc
- 桥梁施工质量控制要点.ppt
- 天津某医院外科大楼外墙保温施工方案.doc
- [江苏]电厂机组烟气脱硫工程磨机房施工作业指导书.doc
- 大数据时代下公共管理的效用与效率研究.docx


