打印机ESCPOS 控制指令
1 HDD-80260打印机ESC/POS 控制指令 ESC/POS 控制指令 HT 横向跳格 [名称] Horizontal tab
[格式] ASCII HT Hex 09 Decimal 9
[描述] 将当前位置移动到下一个跳格位置。
[注释] 如果下一个跳格位置没有设置,该指令被忽略。 如果下一个横向跳格位置超越打印区域,将当前位置设置为[打印宽度+1]。 水平跳格位置由指令ESC D 来设置。 如果接收到此命令时当前位置在[打印宽度+1],打印机执行当前行缓冲区满动作并且将打印位置移到下一行的起始位置。 默认值跳格位置是每8 个标准ASCII 字符(12×24)字符跳一格。 当前行缓冲区满时,打印机执行下列动作: 标准模式下,打印机打印当前行内容并将打印位置置于下一行的起始位置。 页模式下,打印机进行换行并将打印位置置于下一行的起始位置。 [参考] ESC D
LF 打印并走纸一行 [名称] Print and line feed
[格式] ASCII LF Hex 0A 2
Decimal 10 [描述] 打印缓冲区内数据并走纸一行。
[注释] 该指令将当前位置置于行首。 [参考] ESC 2, ESC 3
FF 打印并走纸 [名称] Print and return to standard mode in page mode
[格式] ASCII FF Hex 0C Decimal 12
[描述] 页模式下打印缓冲区的所有内容并返回标准模式,标准模式下打印缓冲区内数据并走
纸一行。 [注释] 打印后清除缓冲区的内容。 由ESC W 指令设置的打印区域被重置为默认设置。 打印机不执行切纸动作。 该指令将当前位置置于行首。 该指令只在页模式下有效。 [参考] ESC FF, ESC L, ESC S
CR 打印并回车 [名称] Print and carriage return
[格式] ASCII CR Hex 0D Decimal 13
[描述] 当自动换行被允许时,该指令的功能等同于LF 指令;
当自动换行被禁止时,该指令被忽略。 [注释] 设置打印位置为行首。 3
串行接口模式下该指令被忽略。 并口模式下该指令是否有效由打印机配置决定。 [参考] LF
CAN 页模式下删除打印缓冲区内容 [名称] Cancel print data in page mode
[格式] ASCII CAN Hex 18 Decimal 24
[描述] 页模式下删除当前区域下的内容。
[注释] 该指令只在页模式下有效。 如果先前设定区域与当前区域有重叠部分,重叠部分也被删除。 [参考] ESC L, ESC W 4
DLE DC4 n m t 实时产生钱箱开启脉冲 [名称] Generate pulse at real-time
[格式] ASCII DLE DC4 n m Hex 10 14 n m Decimal 16 20 n m
[范围] n = 1;m = 0,1;1≤t≤8
[描述] 在指定的钱箱插座引脚产生设定的开启脉冲,引脚由m指定: m=0:钱箱插座引脚2; m=1:钱箱插座引脚5。 脉冲高电平时间为[t×100ms],低电平的时间为[t×100ms]。 [注释] 当打印机正在执行钱箱开启命令(ESC p 或 DEL DC4)时,该命令被忽略。 串口模式下,打印机接收该指令后立即执行。 并口模式下,打印机忙的时候该指令不执行。 如果打印数据中包含和此指令相同的数据,则这些数据将被当作该指令执行。用 户必须考虑到这种情况。 该指令尽量不要插在2 个或更多字节的指令序列中。 即使打印机被ESC=(选择外设)命令设置为禁止,该指令依然有效。 [参考] ESC p 5
ESC FF 页模式下打印 [名称] Print data in page mode
[格式] ASCII ESC FF Hex 1B 0C Decimal 27 12
[描述] 页模式下,打印缓冲区的所有内容。
[注释] 该指令只在页模式下有效。 打印后不清除打印缓冲区的内容、ESC T和ESC W设置和字符的位置。 [参考] FF, ESC L, ESC S
ESC SP n 设置字符右间距 [名称] Set right-side character spacing [格式] ASCII ESC SP n Hex 1B 20 n Decimal 27 32 n
[范围] 0≤n≤255
[描述] 设置字符的右间距为[n×横向移动单位或纵向移动单位]英寸。 [注释] 当字符放大时,间距随之放大相同的倍数。 此指令设置的值在页模式和标准模式下是相互独立的。 横向或纵向移动单位由GS P 指定。改变横向或纵向移动单位不改变当前右间距。 标准模式下,使用横向移动单位。 在页模式下,根据区域的方向和起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:①当打印起始位置由ESC T 设置为打印区域的左上角或右下角时,使用横向移动单位;②当打印起始位置由ESC T 设置为打印区域的左下角或右上角时,使用纵向移动单位; 6
最大右间距是255/200 英寸。任何超过这个值的设置都自动转换为最大右间距。 [默认值] n=0
[参考] GS P
ESC ! n 选择打印模式 [名称] Select print mode(s)
[格式] ASCII ESC ! n Hex 1B 21 n Decimal 27 33 n
[范围] 0≤n≤255
[描述] 根据n 的值设置字符打印模式 位 1/0 HEX Decimal 功能
0 0 00 0 标准ASCII字体(12 × 24) 1 01 1 压缩ASCII字体 (9 × 17 1,2 未定义
3 0 00 0 取消加粗模式 1 08 8 选择加粗模式
4 0 00 0 取消倍高模式 1 10 16 选择倍高模式
5 0 00 0 取消倍宽模式 1 20 32 选择倍宽模式 6 未定义
7 0 00 0 取消下划线模式 1 80 128 选择下划线模式 [注释] 当倍宽和倍高模式同时选择时,字符同时在横向和纵向放大两倍。 7
除了HT设置的空格和旋转打印的字符,其余任何字符都可以加下划线。 下划线度由ESC -确定,与字符无关。 当一行中部分字符为倍高或更高,所有字符以底端对齐。 ESC E 也能选择或取消加粗模式,最后被执行的指令有效。 ESC -也能选择或取消下划线模式,最后被执行的指令有效。 GS !也能设置字符大小,最后被执行的指令有效。 [默认值] n=0
[参考] ESC -, ESC E, GS !
ESC $ nL nH 设置绝对打印位置 [名称] Set absolute print position [格式] ASCII ESC $ nL nH Hex 1B 24 nL nH Decimal 27 36 nL nH
[范围] 0≤nL≤255;0≤nH≤2
[描述] 将当前位置设置到距离行首(nL+nH×256)×(横向或纵向移动单位)处。 [注释] 如果设置位置在指定打印区域外,该命令被忽略。 横向和纵向移动单位由GS P 设置。 标准模式下使用横向移动单位。 在页模式下,根据打印区域的方向和打印起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:① 当打印起始位置由ESC T 设置为打印区域的左上角或右下角时,使用横向移动单位;② 当打印起始位置由ESC T 设置为打印区域的左下角或右上角时,使用纵向移动单位。 [参考] ESC \, GS $, GS \, GS P 8
ESC % n 选择/取消用户自定义字符 [名称] Select/cancel user-defined character set
[格式] ASCII ESC % n Hex 1B 25 n Decimal 27 37 n
[范围] 0≤n≤255
[描述] 选择或取消用户自定义字符。 当n 的最低位为0 时,不使用用户自定义字符。 当n 的最低位为1 时,使用用户自定义字符。 [注释] 当取消使用用户自定义字符的时候,自动使用内部字库。 n 只有最低位有效。 [默认值] n=0
[参考] ESC &, ESC ?
ESC & y c1 c2 [x1 d1...d(y × x1)]...[xk d1...d(y × xk)] 定义用户自定义字符 [名称] Define user-defined characters [格式] ASCII ESC & y c1 c2 [x1 d1...d(y ´ x1)]...[xk d1...d(y ´ xk)] Hex 1B 26 y c1 c2 [x1 d1...d(y ´ x1)]...[xk d1...d(y ´ xk)] Decimal 27 38 y c1 c2 [x1 d1...d(y ´ x1)]...[xk d1...d(y ´ xk)]
[范围] y = 3;32 ≤ c1 ≤ c2 ≤ 126;0 ≤ x ≤ 12 (标准ASCII字体12× 24);0 ≤ x ≤ 9 (压缩ASCII
字体9×17);0 ≤ d1 ... d(y×xk) ≤ 255 [描述] 定义用户自定义字符。 y指定纵向字节数。 c1 是起始字符代码,c2 是终止字符代码。 x 指定横向点数。 [注释] 允许的字符代码范围是ASCII 码的<20>H 到<7F>H(96 个字符) 可以连续定义多个字符,如果只定义一个字符c1 = c2。 d 是下载字符的数据。各点的数据从左边开始。
Epson的打印机控制指令集ESC_P标准 (适用大部份针式,和喷墨)
*使用命令DO PL WITH \"AR-5400\",\"这是测试行\"+CHR(0x0A)
*注意;第一个参数是要调用的打印机名,可用SET(\"Printer\",3)代替,第二个参数为要打印的字符串
*要打印的字符串后面必须加换行符才能立即输出
*需要说明的是:字体的控制需要用打印机内部的控制码
第一个参数是要调用的打印机名可用setprinter3代替第二个参数为要打印的字要打印的字符串后面必须加换行符才能立即输出需要说明的是
Epson的打印机控制指令集ESC/P标准(适用大部份针式,和喷墨)
描述:Epson的打印机控制指令集ESC/P标
图片:200712121284464103.jpg
描述:Epson的打印机控制指令集ESC/P标
*PARAMETERS PrnName,PrnStr
PrnName= GETPRINTER( )
PrnStr =CHR(7) &&打印机给叫一下
图片:200712121285423596.jpg
描述:Epson的打印机控制指令集ESC/P标
图片:20071212129086487.Байду номын сангаасpg
描述:Epson的打印机控制指令集ESC/P标
图片:20071212129557533.jpg
***直接打印的子程序演示,* PrnStr可以是中文文字**
ESC POS 打印指令集
1
2 Applicable printer models
This FAQ applies to TM-T90, TM-L90, TM- T88III, TM-J2000/TM-J2100, TM-L60II, TMU200/TM-U210, TM-U220, and TM-U230. These printers support commands that are described in this FAQ as shown in the following table.
Name Print and line feed Select print mode(s) Turn underline mode on/off Initialize printer Turn emphasized mode on/off Turn double-strike mode on/off Select character font Select justification Select paper sensor(s) to output paper-end signals Print and feed n lines Print and reverse feed n lines General pulse Select print color Select character code table Turn white/black reverse printing mode on/off Select cut mode and cut paper Set bar code height Print bar code ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ -✓ -✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ -✓ -✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓ -✓ -✓ ✓ ✓ ✓ ✓
POS钱箱的指令设置
钱箱类型比较多,它的接口也有较大区别,有的类似电话线接头的,有的只有两根电线,有的是COM口的,也有的是LPT口的,安装与连接方法也有所不同,软件驱动方式也不一样。
常见的钱箱是与票据打印机一起使用的,一般票据打印机的背面都有钱箱的驱动接口,将钱箱的RJ11接头(类似电话线接头)连接到票据打印机背面的驱动接口,一般票据打印机是连接在COM口或LPT口上的,然后通过软件向COM或LPT口发送信号,这样就可以打开钱箱了;
则,在零售单中的开钱箱指令中可输入“CHR(0x1B)+ CHR(0x70)+ CHR(0x7) ,LPT1;0”,也可输入“CHR(27)+ CHR(112)+ CHR(7) ,LPT1;0”或“CHR(27)+'p'+CHR(07),LPT1;0”
注意:开钱箱指令的格式应是:输入驱动指令(控制符)后,再输入端口名称如LPT1、LPT2、COM1……,再输入延时时间,其中,驱动指令和端口名称之间必须用逗号隔开,端口名称和延时时间之间必须用分号隔开。延时时间是用毫秒计量的,“0”表示不延时,一般都设为0。
一般票据打印机的钱箱的驱动指令是通过票据打印机来发送的,跟钱箱没有关系,票据打印机的供应商会提供给您该型号打印机的驱动钱箱指令说明,您再将该指令加入您的POS前台软件里(如管家婆服装鞋业版中的零售单)即可。
驱动指令有使用十六进制的,也有十进制的,也有ASCII代码的,在下面的例子中将把这三种数据表达形式对应关系列示出。
打印时自动打开钱箱:
如:STAR票据打印机接在LPT1口中,驱动指令是:
进制
指令
开钱箱指令
十六进制
1B
node-escpos 用法
一、node-escpos是什么?node-escpos是一个基于Node.js的打印库,它可以用来控制打印机进行打印操作。
它支持多种品牌和型号的打印机,包括EPSON、STAR、BIXOLON等知名品牌。
它提供了简洁易用的API,可以方便地实现打印功能。
二、node-escpos的特点1.多品牌支持:node-escpos支持多种品牌和型号的打印机,包括热敏打印机和喷墨打印机。
2.简洁易用的API:node-escpos提供了丰富的API,可以轻松实现打印功能。
开发者可以通过简单的代码来控制打印机进行打印操作。
3.跨评台支持:node-escpos可以在多种操作系统上运行,包括Windows、MacOS和Linux等。
这使得它可以灵活地应用于各种场景。
三、node-escpos的安装和使用1.安装node-escpos:在Node.js项目中,可以通过npm来安装node-escpos。
可以使用以下命令来安装node-escpos:```shellnpm install node-escpos```2.引入node-escpos模块:在代码中,可以使用require语句来引入node-escpos模块,以便在代码中使用node-escpos提供的功能。
```javascriptconst escpos = require('escpos');```3.创建打印机实例:在代码中,可以使用escpos.Printer类来创建打印机实例。
可以根据打印机的型号和连接方式来创建不同的打印机实例。
```javascriptconst device = new B();const printer = new escpos.Printer(device);```4.进行打印操作:在创建打印机实例后,就可以使用打印机实例的方法来进行打印操作。
可以使用write、barcode、text等方法来输出打印内容。
通用客显指令集
ESC/POS命令集明细表1.STX B n波特率设置命令ACSII码格式:STX B n 0<=n<=5十进制格式:[002][066]n 48<=n<=53十六进制格式:[02H][42H]n 30H<=n<=35H说明:改变系统的波特率(上电开机时缺省波特率为:2400bit/s),这个命令一般不需用到,使用缺省设定即可。
ASCII n 十进制n 十六进制n 波特率0 48 30H 96001 49 31H 48002 50 32H 24003 51 33H 12004 52 34H 6005 53 35H 3002.STX L d1 d2 d3 d4控制显示状态灯ACSII码格式:STX L d1 d2 d3 d4 d=0、1十进制格式:[002][076]d1 d2 d3 d4 d=048、049十六进制格式:[02H][4CH]d1 d2 d3 d4 d=30H、31H说明:控制状态灯相应位的亮灭。
当d1=0时,单价字符灭;d1=1时,单价字符亮当d2=0时,总计字符灭;d2=1时,总计字符亮当d3=0时,收款字符灭;d3=1时,收款字符亮当d4=0时,找零字符灭;d4=1时,找零字符亮3.STX M开钱箱命令ACSII码格式:STX M十进制格式:[002][077]十六进制格式:[02H][4DH]说明:通过顾客显示屏开启钱箱。
4.CLR清屏命令ASCII码格式:CLR十进制格式:[012]十六进制格式:[0CH]说明:清除屏幕上的字符。
5.CAN 清除光标行命令ASCII 码格式:CAN十进制格式:[024]十六进制格式:[18H]说明:清除光标行(数码行)上的字符,光标移动到第1位置。
一般不需使用,只使用ESC QA d1d2d3…dn CR命令即可。
6.ESC @初始化命令ASCII码格式:ESC @十进制格式:[027][064]十六进制格式:[1BH][40H]说明:恢复到上电开机时的状态。
打印机EZPL指令
ESC打印机编程手册
PPTII-A
编程手册
厦门汉印电子技术有限公司 地址:厦门火炬高新区创业园昂业楼 305A 室 电话:0592-5885991 传真:0592-5885992 网址:
1
PPTII-A 编程手册
更改记录
版本
1.0 1.1
日期
2013.09.27 2014.03.11 原始版本
更改内容
更改
陈卫华 陈卫华
审核
林扬 林扬
承认
任小薇 任小薇
1.变更 ESC t n 指令 编程手册
目 录
1.概述.................................................................................................................................................................. 7 1.1 关键字说明.............................................................................................................................................. 7 1.2 指令格式说明.......................................................................................................................................... 7 2.指令集.............................................................................................................................................................. 8 HT 横向跳格.................................................................................................................................................. 8 LF 打印并走纸一行....................................................................................................................................... 8 FF 打印并走纸............................................................................................................................................... 9 CR 打印并回车.............................................................................................................................................. 9 ESC SP n 设置字符右间距.......................................................................................................................... 9 ESC ! n 选择打印模式................................................................................................................................10 ESC $ nL nH 设置横向绝对打印位置..................................................................................................... 10 ESC % n 选择/取消自定义字符................................................................................................................. 11 ESC & y c1 c2 [x1 d1...d(y × x1)]...[xk d1...d(y × xk)]定义用户自定义字符.................................11 ESC *m nL nH d1... dk 选择位图模式................................................................................................... 12 ESC - n 选择/取消下划线模式................................................................................................................... 14 ESC 2 设置默认行高...................................................................................................................................15 ESC 3 n 设置行高.......................................................................................................................................15 ESC = n 选择打印机.................................................................................................................................. 15 ESC ? n 取消用户自定义字符.................................................................................................................... 16 ESC @初始化打印机................................................................................................................................. 16 ESC D n1...nk NUL 设置横向跳格位置.................................................................................................. 16 ESC E n 选择 /取消加粗模式...................................................................................................................... 17 ESC G n 选择 /取消双重打印模式............................................................................................................. 17
票据打印机使用说明
10.色带: 11.黑标检测:
盒式色带 ERC-39 紫色或黑色(EPSON 或 TP 品牌)。
黑标印在票据正面指定黑标位置(参看 1-18 的表 2),黑标高度(沿走纸方向)5 毫米,宽度最小 12 毫米; 黑标部分的反射率≤10%,印有黑标面的其它部 分的反射率>75%。
12.电 源:
输入 DC 24V+/-10%,2A(平均),10A(最大); 电源输入插座:三芯电源插座(A-1009-39) 。
POS2000 票据打印机使用说明
蛇口广华电子技术有限公司
声明
此为 A 级产品,在生活环境中,该产品可能会造成无线电干 扰。在这种情况下,可能需要用户对其干扰采取切实可行的措施。
生产商有权修改说明书的内容而不做事先声明 !
目
录
第一章 性能指标 ......................................... 3 第二章 操作说明 ......................................... 8
2.5.1 打印机构与打印控制固有相关参数 ................ 11 2.5.2 黑标印刷注意事项 .............................. 11 2.5.3 黑标定位...................................... 12 2.5.4 自动上纸 ...................................... 13 2.6 DIP 设置相关命令................................... 13 第三章 打印控制命令 .................................... 15 3.1 概述 .............................................. 15 3.2 命令详解 .......................................... 15 HT 水平制表........................................ 15 LF 打印并换行...................................... 15 CR 打印并回车...................................... 16 DLE EOT n 实时传送状态 ............................. 16 DLE ENQ n 实时响应主机请求 ......................... 18 ESC SP n 设置字符右间距 ........................... 18 ESC ! n 设置字符打印方式 ......................... 19 ESC % n 允许/禁止用户自定义字符 .................. 19 ESC & 设置用户自定义字符 ....................... 20 ESC * 设置点阵图形 ............................. 20 ESC - n 下划线命令 ............................... 21 ESC 2 设定字符行距为 1/6 英寸 ................... 21 ESC 3 n 设定字符行距为 n/144 英寸 ................. 22
POS指令集
北洋POS打印控制单元指令集 1 指令列表指令简述功能类型页数HT 横向跳格打印位置 5 LF 打印并走纸一行打印4 FF 打印打印 4 CR 打印并走纸一行打印 4 NAK 向前走纸其它22 CAN 清除当前打印缓冲区字符8 DLE EOT 实时状态传递状态12 ESC FF 页模式或标签模式下打印打印4 ESC DC2 设置字符逆时针旋转字符11 ESC SP 设置字符间距字符8 ESC 选择字符打印模式字符8 ESC 设置横向绝对起始位置打印位置6 ESC 选择或取消用户自定义字符字符8 ESC amp 定义用户自定义字符字符9 ESC 下载并打印位图位图15 ESC - 打开/关闭下划线模式字符10 ESC 2 行高设置成默认值行高 5 ESC 3 设置行高行高5 ESC 取消用户自定义字符字符10 ESC 打印机初始化其它19 ESC D 设置横向跳格位置打印位置5 ESC E 打开/关闭加粗方式字符10 ESC F 选择字体字符8 ESC G 打开/关闭双重打印方式字符10 ESC J 打印并进纸打印 4 ESC L 选择页模式系统19 ESC R 选择国际字符集字符9 ESC S 选择标准模式系统20 ESC T 页模式或标签模式下选择区域方向打印位置 6 ESC V 打开/关闭顺时针旋转90度字符11 ESC W 页模式或标签模式下设置打印区域打印位置 6 ESC 设置横向相对打印位置打印位置6 ESC c 0 选择纸张类型其它20 ESC c 5 禁止/允许面板按键其它20 ESC d 打印并走纸n行打印 4 ESC i 部分切纸其它17 ESC t 选择代码页字符9 ESC u 返回外设数据状态14 ESC v 传送传感器状态状态13 ESC 打开/关闭倒置打印字符10 2 GS 选择字符放大倍数字符11 GS 选择下载位图图号位图15 GS 页模式或标签模式下设置纵向绝对位置打印位置7 GS 下载位图位图16 GS / 打印用户下载位图位图16 GS A 标签调整其它21 GS B 打开/关闭反显打印字符12 GS E 选择打印浓度其它21 GS H 选择HRI字符的打印位置条码17 GS L 设置左空白打印位置7 GS O 按出纸模式出纸其它21 GS S 选择打印速度其它21 GS V 选择切刀模式并切纸其它17 GS W 设置打印区域宽度打印位置7 GS 页模式或标签模式下设置纵向相对位置打印位置7 GS a 计数器状态返回状态14 GS f 选择HRI使用字体条码17 GS h 设置条码高度条码18 GS k 打印条码条码18 GS r 状态传输状态14 GS w 设置条码宽度条码19 RS 向后退纸其它22 ESC p 向钱箱发送脉冲打开钱箱其他22 GS C n 设置波特率其他22 3 打印命令打印并走纸一行ASCII LF 十六进制0A 标准模式下打印一行数据并走纸一行页模式或标签模式下换行注标准模式下如行缓冲区中可打印图形高度大于行高则打印并走纸该图形高度打印ASCII FF 十六进制0C 1 标准模式作用打印并走纸同LF命令2页模式作用打印页数据并返回标准模式打印走纸后进行下列工作清所有页面缓冲区将内区域大小及区域方向设为默认值返回标准模式3标签模式作用打印标签并调整标签位置打印走纸后将下一标签调整到打印位置不清打印缓冲区页模式或标签模式下打印ASCII ESC FF 十六进制1B 0C 页模式或标签模式下打印缓冲区中所有数据不清除缓冲区注此命令只在页模式或标签模式下有效打印并走纸ASCII ESC J n 十六进制1B 4A n 打印缓冲区中数据并走纸n点行1/8mm当n值太小时走纸距离等于字符高度n取值范围0-255 注:此命令只能用于标准模式打印并走纸n行ASCII ESC d n 十六进制1B 64 n 打印缓冲区中数据并走纸n字符行n取值范围0-2550解释为1 注此命令只能用于标准模式4 行间距命令设置行间距为1/6英寸ASCII ESC 2 十六进制1B 32 设置行间距为1/6英寸4.23mm 设置行行间距ASCII ESC 3 n 十六进制1B 33 n 设置行间距为n/203英寸n/8mm当n太小时行高等于字符高度n 取值范围0-255 默认值273.37mm 注当n超出指定范围此命令被忽略打印位置命令横向跳格ASCII HT 十六进制09 将打印位置移到下一个用设置水平跳格位置命令1B 44设置的位置打印位置每行初始化为行起始位置?⒋嗣 羁捎糜谒 心J?标准模式下当跳格超出当前横向区域时则打印当前行并将打印位置移到下一行的行首页模式或标签模式下当跳格超出当前横向区域时则将打印位置移到下一行的行首如下一行超出当前区域则打印位置移到当前行的右端设置横向跳格位置ASCII ESC D n1 n2...nk NUL 十六进制1B 44 n1 n2...nk NUL 按当前字宽设置横向跳格位置最多可设置32个位置跳格要用HT命令来实现每个跳格位开始位置在第n1字符列上此命令以十六进制数00结束1B 44 00 清除所有跳格位n 值跳格位置所在字符列为n1n总是小于等于当前行最大字符数与最大打印宽度和所用字体有关k取值范围1-32 n默认值8以十六进制数00作为结束注如执行本命令后字宽发生改变横向跳格位置保持不变横向跳格位置必须递增排列否则该位置及后面的位置设置将无效如果所设置位置超过32个还没有结束符NULL后面的数据将被当成字符或其他命令此命令可用于所有模式5 设置横向绝对打印位置ASCII ESC n1 n2 十六进制1B 24 n1 n2 设置横向绝对打印位置n 值横向绝对打印位置标准模式下以行左边距为参考点页模式或标签模式下以区域左边为参考点取值范围应不超出当前行宽或当前区域注n为用字表示的点数先低字节后高字节超出范围将被忽略此命令可用于所有模式页模式下选择打印方向ASCII ESC T n 十六进制1B 54 n 确定区域方向及起始位置n 区域方向及打印起始位置n默认值0 区域四个方向坐标参考点及坐标方向取向如下方向0参考点为区域左上角横向方向向右纵向方向向下方向1参考点为区域左下角横向方向向上纵向方向向右方向2参考点为区域右下角横向方向向左纵向方向向上方向3参考点为区域右上角横向方向向下纵向方向向左注此命令只在页模式或标签模式下有效当n值超出指定范围时本命令将被忽略页模式下设置打印区域ASCII ESC W n1n2...n8 十六进制1B 57 n1n2...n8 页模式或标签模式下设置打印区域起始位置及打印区域大小n1n2 用字表示的区域起始位置横坐标先低字节后高字节n3n4 用字表示的区域起始位置纵坐标先低字节后高字节n5n6 用字表示的区域宽度先低字节后高字节n7n8 用字表示的区域高度先低字节后高字节n 取值范围0-255 n 默认值n1-4 0 n5 64 n6 3 n7 0 n8 4 注此命令只在页模式或标签模式下有效所有数据单位为1/8mm打印缓冲区最大区域为横向104mm纵向128mm当n值超出最大打印缓冲区时此命令被忽略设置横向相对打印位置ASCII ESC n1 n2 十六进制1B 5C n1 n2 以当前打印位置为中心向左不能超过左限或者向右不能超过右限移动打印位置n值用补码表示的当前位置向左右移动点数先低后高标准模式下左限为左边距右限为当前行宽页模式或标签模式下左右限为当前区域左右边界6 注此命令可用于所有模式n 值超出范围则本命令被忽略设置纵向相对打印位置ASCII GS nL nH 十六进制1D 5C nL nH 以当前点为参考点设置纵向相对移动距离n 用补码表示的纵向移动点行先低字节后高字节注此命令只在页模式或标签模式下有效否则忽略本命令当移动距离超出规定的打印区域时此命令被忽略设置左边距ASCII GS L nL nH 十六进制1D 4C nL nH 设置标准模式打印区域左边距n 用字表示的左边距先低字节后高字节取值范围0-255 n默认值0 注此命令设定值只能用于标准模式此命令只有在行开始才有效包括非标准模式否则忽略如果n超出最大打印宽度则用最大打印宽度本命令所设置的左边距是其后面执行的横向位置命令的左限设置打印宽度ASCII GS W nL nH 十六进制1D 57 nL nH 设置行打印宽度为n点n 用字表示的打印宽度先低字节后高字节取值范围0-255 n默认值最大打印宽度注此命令只有在行开始有效包括非标准模式否则忽略此命令设定值只能用于标准模式如打印宽度超出最大打印宽度则用最大打印宽度设置左边距命令优先于本命令如本命令设定值加左边距大于最大打印宽度则当前打印区域宽度为最大打印宽度减左边距页模式下设置纵向绝对打印位置ASCII GS nL nH 十六进制1D 24 nL nH 页模式下根据区域方向和起始点设置纵向绝对打印位置n值用字表示的纵向绝对坐标位置取值范围0-255 注此? 钪荒苡糜谝衬J交虮昵┠J椒裨蚪 缓雎?超出区域设置将被忽略7 字符控制命令清除区域ASCII CAN 十六进制18 清除当前区域中的所有数据注此命令只在页模式或标签模式中有效设置字间距ASCII ESC SP n 十六进制1B 20 n 设置字符右间距为n点n取值范围0-32 默认值0 注此命令可用于所有模式超范围设置将被忽略选择字体ASCII ESC F n 有人说这条命令为ESC M n 十六进制1B 46 n 选择打印字体n 取值0 标准ASCII字体1 压缩ASCII字体 2 用户自定义字体3 24 24点阵汉字注选择字符集命令1B 25也可以选择打印字体最后接收到的命令有效超范围命令将被忽略选择字符集ASCII ESC n 十六进制1B 25 n 选择用户自定义字符当用户自定义字符未定义时则用ROM中相应字符n 值最低位为0 取消用户自定义字符最低位为1 选择用户自定义字符默认值0 选择字符模式ASCII ESC n 十六进制1B 21 n 选择字符模式标准模式压缩模式加粗模式下划线模式双字高模式和双字宽模式n 值各位对应关系如下表n默认值为0 8 位功能0 1 0 字体标准ASCII 压缩ASCII 12 保留未用3 加粗禁止允许 4 双字高禁止允许 5 双字宽禁止允许 6 保留未用7 下划线禁止允许选择国际字符集ASCII ESC t n ESC R n 十六进制1B 74 n 1B 52 n 选择国际字符集n 取值0 代码页437 1 代码页850 2 代码页852 3 代码页860 4 代码页863 5 代码页865 默认值0 代码页437 注超范围设置被忽略带的代码页只对国外客户有效汉字字体只对国内客户有效定义用户自定义字符ASCII ESC amp s c1 c2 n1 d1 ... dsn n2 d1... 十六进制1B 26 s c1 c2 n1 d1 ...dsn n2d1.... 定义并下载用户自定义字符任何无效数据都会退出此命令取值范围s 纵向字符字节数取值范围为1-3 c1 32-127起始字符ASCII码c2 32-127终止字符ASCII 码如果只定义一个字符c1等于c2 n 字符宽点数取值范围1-24 d 指定字符的点阵信息先纵向排列s字节然后向右排列第二列依次类推直到排完第n列注一个字符点阵字节数为n s 下载字符大小不必相同超范围设置被忽略9 选择或取消下划线模式ASCII ESC - n 十六进制1B 2D n 设置/取消字符下划线n值: 048 取消下划线模式149选择下划线模式250选择加粗下划线模式默认值0 取消下划线模式注如果n值超出指定范围此命令被忽略下划线包括字符间距但由跳格命令坐标命令引起的位置移动间距不能加下划线此模式不能应用于位图和下载位图及条码条码字符取消用户自定义字符ASCII ESC n 十六进制1B 3F n 取消一个自定义字符代之以当前ROM中相应的字符n为该字符ASCII代码n值范围32-127 注:如果n超出已定义字符范围则此命令被忽略选择或取消加粗模式ASCII ESC E n 十六进制1B 45 n 设置或取消字符加粗打印n 值最低位为0 关最低位为1 开默认值0注加粗模式不能应用于位图和下载位图及条码条码字符打印选择或取消字符加粗打印模式ASCII ESC G n 十六进制1B 47 n 选择或取消字符加粗打印模式n 值最低位为0 关最低位为1 开默认值0 注加粗模式不能应用于位图和下载位图及条码条码字符打印选择或取消倒置打印ASCII ESC n 十六进制1B 7B n 设置字符倒置模式n 取值最低位为0 取消最低位为1 允许10 默认值0 取消注此命令只在行开始有效设置或取消顺时针旋转字符90度ASCII ESC V n 十六进制1B 56 n 设置/取消将字符顺时针旋转90度该指令只在标准模式下有效n 取值最低位为0 取消最低位为1 允许默认值0 取消注: 此模式不能用于图形下载图形及条码条码字符打印设置逆时针旋转字符ASCII ESC DC2 十六进制1B 12 将字符逆时针旋转90度该指令只在标准模式下有效注:顺时针旋转和逆时针旋转不能同时有效后设置的命令有效此模式可用取消旋转指令1B 56 0来取消此模式不能应用于位图和下载位图及条码条码字符打印旋转指令组合使用情况如下表倒置1B7B n 顺时针旋转90度1B 56 n 逆时针旋转90度1B 12 输出效果0 0 0 1 0 1 0 2 1 0 0 3 1 1 0 4 0 0 1 5 1 0 1 6 选择字符放大倍数ASCII GS n 十六进制1D 21 n 由n值第0-3位确定字符纵向放大倍数第4-7位确定字符横向放大倍数n各位对应关系如下表n高四位选择字符宽度n低四位选择字符高度十六进制字符宽度十六进制字符高度00 正常00 正常10 两倍宽度01 两倍高度20 三倍宽度02 三倍高度30 四倍宽度03 四倍高度40 五倍宽度04 五倍高度50 六倍宽度05 六倍高度11 60 七倍宽度不用06 七倍高度不用70 八倍宽度不用07 八倍高度不用默认字符模式为正常模式注此命令对所有字符除HRI字符都有效选择字符模式命令ESC n 也可以选择倍宽或倍高? 宰詈蠼邮盏降拿 钗 ?选择或取消黑白反显打印ASCII GS B n 十六进制1D 42 n 设置/取消字符黑白反转打印模式n 取值最低位为0 取消最低位为1 允许默认值0 取消注此命令可用于内建字符和用户自定义字符不影响位图下载位图条码及条码标注也不影响行间空白间距及因坐标命令移动的位置状态命令传送实时状态ASCII DLE EOT n 十六进制10 04 n 使打印机实时传送由n指定的一个字节的打印机状态n取值1 送打印机状态2 传送外设状态 3 传送错误状态4 传送纸状态注:当n值超出范围则忽略此命令n1传送打印机状态状态值定义如下: 位状态十六进制功能0 0 00 固定为0 1 1 02 固定为1 2 0/1 00/04 有钱箱打开/无钱箱打开3 0/1 00/08 串口不忙/串口忙4 1 10 固定为1 5 未定义 6 0/1 00/40 打印机正常/打印机出错7 0 0 固定为0 n2传送外设状态状态值定义如下: 位状态十六进制功能0 0 0 固定为0 1 1 2 固定为1 12 2 0/1 00/04上盖关闭/上盖打开3 0/1 00/08 未按走纸键/按下走纸键4 1 10 固定为1 5 未定义6 0/1 00/40 没有出错情况/存在出错情况7 0 00 固定为0 n3传送错误状态状态值定义如下: 位状态十六进制功能0 0 0 00 固定为0 1 1 02 固定为1 2 0 00 固定为0 3 0/1 00/08 切刀无错误切刀有错误4 1 10 固定为1 5 0/1 00/20 打印头压下/打印头抬起 6 0/1 00/40 热敏头温度和电压正常/ 热敏头温度或电压超出范围7 0 00 固定为0 n4传送纸状态状态值定义如下: 位状态十六进制功能0 0 00 固定为0 1 1 02 固定为1 2 0/1 00/04 有纸/纸将尽3 0/1 00/08 有纸/纸将尽4 1 10 固定为1 5 0/1 00/20 有纸/纸用完6 0/1 00/40 有纸/纸用完7 0 00 固定为0 传送纸传感器状态ASCII ESC v 十六进制1B 76 返回一字节状态信息字节数据各位定义如下位状态十六进制功能0 0/1 00 有纸/纸将尽 1 0/1 02 打印头在位/打印头抬起 2 0/100/04 有纸/纸尽3 0/1 00/08 切刀正常/切刀错4 0 0 固定为0 5 0/1 00/20 温度正常/温度过高或过13 低 6 0/1 00/40 打印头在位/打印头抬起7 0 00 固定为0 注: 此命令为非实时命令返回外设数据ASCII ESC u n 十六进制1B 75 n 返回状态信息n取值048 返回当前打印速度149 返回当前打印浓度等级250 返回当前打印头温度注n超出范围被忽略计数器状态返回ASCII GS a n 十六进制1D 61 n 该指令返回打印机内部计数器的当前值长度四字节从低字节到高字节排列n取值0 返回55 00 FF AA测试用1 返回00 00 00 00 2 返回前一次打印长度毫米3 返回00 00 00 00 4 返回00 00 00 00 注n值超出范围被忽略传送状态ASCII GS r n 十六进制1D 72 n 传送由n指定的设备状态此命令为非实时命令n 取值124950 状态字节各位对应关系如下打印机状态n 1 或n 49 位开/关十六进制功能0 0/1 00/01 有纸/纸尽 1 0/1 00/02 上盖关/上盖开 2 0/1 00/04 有纸/纸尽 3 0/1 00/08 温度正常/过热 4 0 00 固定为0 5 - - 未定义 6 0/1 00/40 前页打印正确/截短7 0 00 固定为0 14 钱箱状态n 2 or n 50 Bit Off/On Hex 功能0 0/1 00/01 有钱箱打开/无钱箱打开1 0/1 00/02 有钱箱打开/无钱箱打开2 - - 未定义3 - - 未定义4 0 00 固定为0 5 - - 未定义 6 - - 未定义7 0 00 固定为0 注当n值超出指定范围则忽略此命令位图命令选择位图模式并传送位图ASCII ESC m n1 n2 d1...d3n 十六进制1B 2A m n1 n2 d1...d3n 发送一行图形数据到打印缓冲区m取值情况如下m值打印模式纵向点数横向点数每行点数0不用单密度8点868dpi 0-288 8288 1不用双密度8点868dpi 0-576 8576 32不用单密度24点24203dpi 0-288 24288 33 双密度24点24203dpi 0-576 24576 n取值用字表示的发送数据列点数先低字节后高字节d取值图形数据点阵信息注用此命令传送的位图需要其他打印命令打印行模式下超出行宽部分被截掉如行缓冲区中有数据此命令将被忽略页模式或标签模式下在当前区域按当前方向从当前坐标将位图点阵依次排放超出区域部分被截掉位图数据排列如下图定义当前下载图号ASCII GS n 十六进制1D 23 n n值范围0-7 n默认值0 定义当前下载图号下载位图和打印下载位图都是按此图号进行15 定义下载位图ASCII GS n1 n2 d1...dn 十六进制1D 2A n1 n2 d1...dn 在当前位图号下下载位图到内存中下载位图除被覆盖或掉电外始终有效n1取值位图横向宽度字节数n1×8点范围1 –有效打印宽度毫米n2取值位图纵向字节数n2×8点范围1 – 255 d1-dn 位图点阵数据排列情况如下图注非法取值将导致退出命令执行位图下载面积和不能超过900mm2 如果剩余内存容量不够当前下载位图将被抛弃如果用同一图号下载不同位图后下载位图将覆盖原来下载位图打印下载位图ASCII GS / m 十六进制1D 2F m 打印当前位图号对应的下载位图m取值如下m值打印模式纵向DPI 横向DPI 0 正常203 203 1不用双倍宽度203 101 2不用双倍高度101 203 3不用宽度高度都加倍101 101 注m值超出范围则此命令被忽略如果没有定义该位图则该命令被忽略行模式下超出行宽部分被截掉如行缓冲区中有数据此命令将被忽略页模式或标签模式下在当前区域按当前方向从当前坐标将位图点阵依次排列超出区域部分被截掉16 机械命令切纸ASCII ESC i 十六进制1B 69 执行半切纸选择切刀模式并切纸ASCII GS .。
打印机指令集
指令集一、简介1、支持USB接口打印和虚拟串口打印。
2、按住Feed键的同时按住Power键开机,可以打印一张自测页。
3、关机状态下,按住Feed键再按下Power键,打印测试页,打印完测试页后短按送纸键,改变英文字体,常用字体为12X24;长按送纸键改USB通讯口模式,分为USB打印类和虚拟串口。
改功能要在打印完测试页2秒后10秒内开始操作,超过10秒自动进入待机模式,按开关机键也可进入待机模式。
按键、LED和警报说明二、引脚定义1、MICRO标准USB接口2、钱箱接口,水晶头的1、3脚接钱箱3、充电接口,DC-12V/1A三、打印命令1.打印命令一览表说明:黑标相关命令并不是所有控制板都支持。
只有支持黑标功能的控制板支持该命令,本版本不支持页模式命令。
2.打印命令详解概述TCB 打印控制板使用 ESC/POS 打印命令集。
打印命令按以下格式说明:命令功能格式:ASCII:以标准 ASCII 字符序列表示十进制:以十进制数字序列表示十六进制:以十六进制数字序列表示说明:命令功能和使用说明,若无特别说明则此处数字为十进制数字。
举例:命令的使用举例,若无特别说明则此处数字为十进制数字。
2.1 打印命令LF 打印并换行格式: ASCII: LF十进制: 10十六进制: 0A说明: 打印行缓冲器里的内容并向前走纸一行,当行缓冲器为空时只向前走纸一行。
ER 打印并换行格式: ASCII: ER十进制:13十六进制: 0D说明:打印行缓冲器里的内容并向前走纸一行。
当行缓冲器为空时只向前走纸一行。
FF 打印缓冲区的数据并进纸到下一个黑标位置格式: ASCII: FF十进制: 12十六进制: 0c说明:打印缓冲区里的数据,如果有黑标功能,打印后进纸到下一个黑标位置。
ESC J n 打印并走纸 n 点行格式: ASCII: ESC J n十进制:27 74 n十六进制: 1B 4A n说明: n = 0-255。
