最新消息: USBMI致力于为网友们分享Windows、安卓、IOS等主流手机系统相关的资讯以及评测、同时提供相关教程、应用、软件下载等服务。

BTP-R580_编程手册_V100

IT圈 admin 29浏览 0评论

2024年2月4日发(作者:褒俊驰)

收据打印机

BTP-R580

编程手册

保密

编程手册

修订记录

日期

2007-7-30

修订版本

V100 首次制定

功能描述 作者

徐伟伟、耿鹏

- 1 -

保密

编程手册

声明

如果需要使用本手册,请遵守此声明中的以下条款。

如果您不同意如下条款,请立即返还本手册。

本手册包含了山东新北洋信息技术股份有限公司(以下简称新北洋)或其经销商的私有机密信息,您必须要对本手册相关内容进行保密。如果本手册的使用者为商业用户或组织,您应当在必须知晓并具备保密义务的范围内公开,包括您的雇员,代理商和合作伙伴。在您终止与新北洋的合作关系的时候或新北洋提出要求的时候,您必须停止使用本手册,并把本手册立即返还新北洋或其经销商,或者销毁这些信息。

如果任何法庭、仲裁人、政府机关等相关机构要求您透漏本手册任何相关机密信息,您必须立刻通知新北洋,并且您同意在协商过程中给与新北洋适当的合作和协助。

新北洋享有公开保密信息的权利。新北洋不承担用户由于错误使用或错误依靠文档中相关信息带来的损失或损害责任。

本手册内容未经同意不得随意更改,本手册只用于产品的维护或与本手册内容相关的产品的服务。新北洋保留对本手册内容变更的权利。用户如果需要最新信息,可与新北洋或经销商联系。

未经新北洋的书面许可,本手册的任何章节不得以任何形式、通过任何手段进行复制或传送。

版权

本手册于2007年印制,版权属于新北洋。

中国印制。

商标

新北洋使用的注册商标是 和

新北洋信息技术股份有限公司

地址:山东省威海市高技区火炬路169号

定货电话: +86—631—5671111

技术支援: +86—631—5675888 800861368

传 真: +86—631—5680499 5675111

邮政编码: 264209

网 址:

E—mail : support@

- 2 -

保密

编程手册

目 录

1 概述 ................................................................................................................................................................................ 1

1.1

指令分类 ................................................................................................................................................................. 1

1.2

关键字说明 ............................................................................................................................................................. 1

1.3

指令格式说明 ......................................................................................................................................................... 1

2 指令详述 ........................................................................................................................................................................ 3

2.1

打印指令 ................................................................................................................................................................. 3

LF 打印并走纸一行 ................................................................................................................................................. 3

FF 打印并走纸 ......................................................................................................................................................... 3

CR 打印并回车 ......................................................................................................................................................... 3

ESC FF 页模式下打印 ............................................................................................................................................. 3

ESC J n 打印并走纸 ................................................................................................................................................. 4

ESC d n 打印并向前走纸n行 ................................................................................................................................... 4

2.2

位置指令 ................................................................................................................................................................. 5

HT 横向跳格 ............................................................................................................................................................. 5

ESC $ nL nH 设置横向绝对打印位置 ..................................................................................................................... 6

ESC k NUL 设置横向跳格位置 .................................................................................................................. 6

ESC T n 在页模式下选择打印区域方向 ................................................................................................................. 7

ESC W xL xH yL yH dxL dxH dyL dyH 页模式下设置打印区域 .......................................................................... 8

ESC nL nH 设置横向相对打印位置 .................................................................................................................... 10

ESC a n 选择字符对齐模式 ................................................................................................................................... 11

GS $ nL nH 页模式下设置纵向绝对位置 ............................................................................................................. 11

GS L nL nH 设置左边距 ........................................................................................................................................ 12

GS P x y 设置横向和纵向可移动单位 .................................................................................................................. 13

GS W nL nH 设置打印区域宽度 ........................................................................................................................... 14

GS nL nH 页模式下设置纵向相对位置 .............................................................................................................. 14

2.3

字符指令 ............................................................................................................................................................... 15

CAN 页模式下删除打印缓冲区内容 .................................................................................................................... 15

ESC SP n 设置字符右间距 .................................................................................................................................... 16

ESC ! n 选择打印模式 ........................................................................................................................................... 17

ESC % n 选择/取消用户自定义字符 .................................................................................................................... 18

ESC & y c1 c2 [d(y × x1)]...[d(y × xk)] 定义用户自定义字符...................................................... 19

ESC – n 选择/取消下划线模式 .............................................................................................................................. 21

ESC ? n 取消用户自定义字符 ............................................................................................................................... 21

ESC E n 选择/取消加粗模式 ................................................................................................................................. 22

ESC G n 选择/取消双重打印模式 ......................................................................................................................... 22

ESC M n 选择字体 ................................................................................................................................................. 23

ESC R n 选择国际字符集 .................................................................................................................................... 23

ESC V n 选择/取消顺时针旋转90度 ..................................................................................................................... 24

ESC t n 设置代码页 .............................................................................................................................................. 24

ESC { n 选择/取消倒置打印模式 .......................................................................................................................... 25

GS ! n 选择字符大小 .............................................................................................................................................. 26

- 3 -

保密

编程手册

GS B n 选择/取消黑白反显打印模式 ................................................................................................................... 27

FS ! n 设置汉字字符模式 ...................................................................................................................................... 27

FS & 选择汉字模式 ............................................................................................................................................... 28

FS – n 选择/取消汉字下划线模式 ......................................................................................................................... 28

FS . 取消汉字模式.................................................................................................................................................. 29

FS 2 c1 dk 定义用户自定义汉字 ............................................................................................................... 29

FS S n1 n2 设置汉字字符左右间距....................................................................................................................... 30

FS W n 选择/取消汉字倍高倍宽 ........................................................................................................................... 31

2.4

位图指令 ............................................................................................................................................................... 31

ESC * m nL dk 选择位图模式 ............................................................................................................... 31

GS # n 定义当前下载图号 ..................................................................................................................................... 33

GS * x d(x × y × 8) 定义下载位图 ............................................................................................................... 33

GS / m 打印下载位图 ............................................................................................................................................. 34

GS v 0 m xL xH yL dk 打印光栅位图 ...................................................................................................... 34

FS p n m 打印下载到FLASH中的位图 ................................................................................................................. 35

FS q n [xL xH yL [xL xH yL dk]n 定义Flash位图 ............................................................. 36

2.5

状态指令 ............................................................................................................................................................... 38

DLE EOT n实时状态传输 ....................................................................................................................................... 38

GS a n自动状态返回 ............................................................................................................................................... 40

GS r n 返回状态 ..................................................................................................................................................... 41

2.6

条码指令 ............................................................................................................................................................... 42

GS H n 选择HRI字符的打印位置 ......................................................................................................................... 42

GS f n 选择HRI使用字体 ....................................................................................................................................... 43

GS h n 选择条码高度 ............................................................................................................................................. 43

①GS k dk NUL②GS k m dn 打印条码 ............................................................................................ 43

GS p n设置PDF417条码尺寸 .................................................................................................................................. 46

GS q n设置PDF417条码纠错等级 .......................................................................................................................... 47

GS w n 设置条码宽度 ............................................................................................................................................ 47

2.7

其它指令 ............................................................................................................................................................... 48

DLE ENQ n 实时请求 ............................................................................................................................................ 48

DLE DC4 n m t 实时产生钱箱开启脉冲 ............................................................................................................... 48

ESC 2 设置默认行高 .............................................................................................................................................. 49

ESC 3 n 设置行高 ................................................................................................................................................... 49

ESC = n 选择打印机 .............................................................................................................................................. 49

ESC @ 初始化打印机 ............................................................................................................................................ 50

ESC L 选择页模式 ................................................................................................................................................. 50

ESC S 选择标准模式 ............................................................................................................................................. 51

ESC c 0 n 选择纸张类型 ........................................................................................................................................ 51

ESC c 3 n 选择纸传感器输出纸尽信号 ................................................................................................................ 51

ESC c 4 n 选择纸将尽传感器以终止打印 ............................................................................................................ 52

ESC c 5 n 允许/禁止按键 ...................................................................................................................................... 53

ESC p m t1 t2 产生钱箱控制脉冲 ......................................................................................................................... 53

GS FF 标记/标签纸定位 ........................................................................................................................................ 53

GS ( A pL pH n m 执行测试打印 ........................................................................................................................... 54

GS : 开始/结束宏定义 ............................................................................................................................................ 54

①GS V m ②GS V m n 选择切纸模式并切纸 ..................................................................................................... 55

- 4 -

保密

编程手册

GS ^ r t m 执行宏命令 ........................................................................................................................................... 55

3 指令编程流程指南 ...................................................................................................................................................... 56

附录 .................................................................................................................................................................................. 57

附录

A:128码 ............................................................................................................................................................ 57

附录

B:打印模式及其转换 ...................................................................................................................................... 62

附录C:指令索引表 ................................................................................................................................................... 65

- 5 -

保密

编程手册

1 概述

本手册按功能将打印机指令分为几类,并根据不同的指令分类对相关指令进行了详细的应用介绍,希望能帮助采用指令编程方式的用户快速掌握打印机的指令。

1.1 指令分类

本款收据打印机指令按照功能主要分为以下几类:

打印指令:打印机打印、走纸相关指令

位置指令:打印位置控制相关指令

字符指令:字符属性设置相关指令

位图指令:位图下载、打印相关指令,包括NV位图、RAM位图

状态指令:可用来查询打印机状态的相关指令

条码指令:条码打印、条码属性设置相关指令

其它指令:其它一些指令,包括外设控制相关指令、宏定义、初始化等指令

指令说明请相关指令相关指令的具体功能描述。

1.2 关键字说明

实时指令:

页模式:

标准模式:

HRI字符:

NV存储器:

RAM:

DPI:

基线:

不经过指令排队而立即响应的打印机指令。

所有的打印内容存储在存储器中(假想“页面”),打印机不执行任何打印操作,直到接收到打印指令(FF)或页模式下打印指令(ESC FF)的处理模式。

标准模式即行模式,为打印机的缺省模式,只要打印机行缓冲区满(即内容排满一行)或者接收到打印指令(例如LF),打印机就打印并进纸。

条码应用注释字符。HRI:Human Readable Interface

非易失性存储器,其特点是掉电数据不丢失。NV: Non-volatile

随机存取存储器:RAM:Random Access Memory

1英寸(1英寸约等于25.4mm)的打印点数,用于表示打印机分辨率。如203DPI表示每英寸可打印203点。DPI:Dot Per Inch

存储在打印缓冲区的字符数据的标准位置,下图显示出了标准模式和页模式下普通字符位置

打印缓冲区: 打印缓冲区是一个用于存储所需打印的图形数据的缓存。

1.3 指令格式说明

[功能描述]――描述指令的作用功能

[数据格式]――说明指令数据格式,如ASCII值、十六进制值及十进制值等

[取值范围]――说明指令中供使用的参数选取取值范围

[应用注释]――说明指令的主要性能特点及指令应用时的注意事项

[ 默认值 ]――说明开机初始化后指令中引用参数的初始数值

- 1 -

保密

编程手册

[相关指令]――与当前指令相关的其它指令说明

[编程示例]——当前或相关指令使用的示例。

编程示例中所有的指令样例数据均采用十六进制,所有常规字体字符均为数据。指令样例中数据不再做应用注释,如 42 43 是数据。加粗下划线字体字符为指令,如1B 40。编程示例中所有指令后括号内的内容为应用注释此条指令的含义,括号和括号内的内容并不是需要传送给打印机的指令。

- 2 -

保密

编程手册

2 指令详述

2.1 打印指令

LF 打印并走纸一行

[功能描述]

[数据格式]

打印缓冲区内数据并走纸一行。

ASCII

Hex

Decimal

[应用注释]

[相关指令]

LF

0A

10

该指令将当前位置置于行首。

ESC 2, ESC 3

FF 打印并走纸

[功能描述]

[数据格式]

页模式下打印缓冲区的所有内容并返回标准模式

ASCII

Hex

Decimal

[应用注释]

FF

0C

12

• 本命令只在页模式下有效。

• 打印后清除缓冲区的内容。

• 打印机不执行切纸动作。

• 该指令将当前位置置于行首。

[相关指令] ESC FF, ESC L, ESC S

CR 打印并回车

[功能描述]

[数据格式]

当该指令被允许时,等同于 LF 指令;当被禁止时,该指令被忽略

ASCII

Hex

Decimal

[应用注释]

[相关指令]

CR

0D

13

• 设置打印位置为行首。

• 该指令是否有效由打印机配置决定。

LF

ESC FF 页模式下打印

[功能描述]

[数据格式]

页模式下,打印缓冲区的所有所有内容。

ASCII

Hex

Decimal

ESC FF

1B

27

0C

12

- 3 -

保密

编程手册

[应用注释]

[相关指令]

• 该指令只在页模式下有效。

• 打印后不清除打印缓冲区的内容、 ESC T 和 ESC W设置和字符的位置等。

FF, ESC L, ESC S

ESC J n 打印并走纸

[功能描述]

[数据格式]

打印缓冲区数据并走纸 [ n × 纵向或横向移动单位] 英寸。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

• 打印结束后,将当前打印位置置于行首。

• 走纸距离不受 ESC 2 或 ESC 3指令设置的影响。

• 横向和纵向移动单位由GS P设定。

• 标准模式下,使用纵向移动单位。

• 在页模式下,根据打印区域的方向和打印起始位置来选择使用纵向移动单位或横向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用纵向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用横向移动单位;

• 最大走纸距离是1016 mm (约40英寸). 如果超出这个距离,取最大距离。

[相关指令]

[编程示例]

GS P

1B 40(初始化打印机)

1D 50 CB CB(设置打印机的分辨率为203×203)

ESC J

1B

27

4A

74

n

n

n

41 41 41 41 41 41 41(需要打印的数据)

1B 4A 50(打印并走纸80/203英寸)

42 42 42 42 42 42 42 0A(需要打印的数据)

实际执行结果:

ESC d n 打印并向前走纸n行

[功能描述]

[数据格式]

打印缓冲区里的数据并向前走纸n行(字符行)。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

• 该指令将打印机的打印起始位置设置在行首。

• 该指令不影响由ESC 2 或 ESC 3设置的行间距。

- 4 -

ESC d

1B

27

64

n

n

100 n

保密

编程手册

• 最大走纸距离为1016mm,当所设的值大于1016mm时,取最大值。

[相关指令]

[编程示例]

ESC 2, ESC 3

1B 40(初始化打印机)

41 41 41 41 41 41 41(需要打印的数据)

1B 64 02(打印并走纸2字符行,2/6英寸)

42 42 42 42 42 42 42 0A(需要打印的数据)

实际执行结果:

2.2 位置指令

HT 横向跳格

[功能描述]

[数据格式]

将当前位置移动到下一个跳格位置。

ASCII

Hex

Decimal

[应用注释]

HT

09

9

• 如果下一个跳格位置没有设置,该指令被忽略。

• 如果下一个横向跳格位置超越打印区域,将当前位置设置为 [打印宽度 + 1]。

• 水平跳格位置由指令 ESC D 来设置。

• 如果接收到此命令时当前位置在 [打印宽度+ 1],打印机执行当前行缓冲区满

• 动作并且将打印位置移到下一行的起始位置。

• 默认值跳格位置是每8个标准ASCII字符(12×24)字符跳一格。

• 当前行缓冲区满时,打印机执行下列动作:

标准模式下,打印机打印当前行内容并将打印位置置于下一行的起始位置。

页模式下,打印机进行换行并将打印位置置于下一行的起始位置。

[相关指令]

[编程示例]

ESC D

0A(将打印位置置于行首)

1B 40 (初始化打印机)

1B 53(进入标准模式)

33 33 33 33 33 33

1B 44 08 10 20 00(设置横向跳格位置)

09(将打印位置移动到下一个跳格位置)

33 33 33 33

09(同上应用注释)

33 33 33 33

09(同上应用注释)

33 33 33 33

- 5 -

保密

编程手册

0A(打印)

33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33

33

0A(打印)

实际执行结果:

ESC $ nL nH 设置横向绝对打印位置

[功能描述]

[数据格式]

将当前位置设置到距离行首(nL + nH×256)× (横向或纵向移动单位)处

ASCII

Hex

Decimal

[取值范围]

[应用注释]

ESC $

1B

27

24

36

nL nH

nL nH

nL nH

0≤nL ≤ 255

0 ≤nH≤255

• 如果设置位置在指定打印区域外,该命令被忽略。

• 横向和纵向移动单位由GS P 设置。

• 标准模式下使用横向移动单位。

• 在页模式下,根据打印区域的方向和打印起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向移动单位;

[相关指令]

[编程示例]

ESC , GS $, GS , GS P

参见 ESC W

ESC k NUL 设置横向跳格位置

[功能描述] • 设置横向跳格位置。

• 由行首起第n列设置一个跳格位置。

• 共有k个跳格位置。

[数据格式] ASCII

Hex

Decimal

[取值范围]

0 ≤ k ≤ 32

- 6 -

ESC D

1B

27

44

68

n1 nk NUL

n1 nk 00

n1 nk 0

1 ≤ n ≤ 255

保密

编程手册

[应用注释] • 横向跳格位置由下式计算:

字符宽度 × n,字符宽度包括右间距,如果字符为倍宽,跳格距离也随

• 该指令取消以前的跳格位置设置。

• 当n = 8时,当前位置为第九列。

• 最多设置32个 ( k = 32) 跳格位置,超过32的跳格位置数据被作为普通数据处理。

• 跳格位置按升序排列 ,结束符为NUL。

• 当[ n] k 小于或等于前一个[ n] k -1值时,跳格设置结束,后面的数据作为普通数据处理。

• ESC D NUL 取消所有的跳格位置设置。

• 改变字符宽度,先前指定的跳格位置并不发生变化。

• 字符宽度在标准模式和页模式下是独立的。

之加倍。

[ 默认值 ]

[相关指令]

[编程示例]

默认跳格设置是每8个标准ASCII字符(12 × 24)一个跳格位置。

HT

参见 HT

ESC T n 在页模式下选择打印区域方向

[功能描述]

[数据格式]

在页模式下选择打印区域的方向和起始位置。

ASCII

Hex

Decimal

[取值范围]

n

0,48

1,49

2,50

3,51

[应用注释]

打印方向

由左到右

由下到上

由右到左

由上到下

起始位置

左上(图中A)

左下(图中B)

右下(图中C)

右上(图中D)

ESC T

1B

27

54

84

n

n

n

0 ≤ n ≤ 3 48 ≤ n ≤ 51

n 指定打印区域的方向和起始位置:

• 如果当前模式为标准模式,只设置内部标志位,不影响打印。

• 该指令可以设置打印内容在打印区域中的起始位置。

• 根据区域打印起始位置的不同,横向或纵向移动单位的使用也不相同:

①如果打印起始位置为打印区域的左上角或右下角,那么打印内容排列方 向与打印进纸方向垂直。

下列命令使用横向移动单位:ESC SP, ESC $, ESC

下列命令使用纵向移动单位:ESC 3, ESC J, GS $, GS

②如果打印机起始位置为打印区域的左下角或右上角,则打印内容排列方 向与打印机进纸方向相同。

下列命令使用横向移动单位:ESC 3, ESC J, GS $, GS

下列命令使用纵向移动单位:ESC SP, ESC $, ESC

- 7 -

保密

编程手册

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC $, ESC L, ESC W, ESC , GS $, GS P, GS

1B 4C(进入页模式)

1D 50 CB CB(设置打印机分辨率)

1B 57 20 00 00 00 40 02 90 02 (设置页模式打印区域)

1B 54 00(在页模式下选择打印区域方向)

30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A(换行)

1B 54 01(在页模式下选择打印区域方向)

31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 0A(换行)

1B 54 02(在页模式下选择打印区域方向)

32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 0A(换行)

1B 54 03 (在页模式下选择打印区域方向)

33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 0A(打印)

50 72 69 6E 74 20 45 6E 64

0C(打印)

实际执行结果:

ESC W xL xH yL yH dxL dxH dyL dyH 页模式下设置打印区域

[功能描述] • 按如下方法设置区域横向起始位置、纵向起始位置、区域宽度和高度:

横向起始位置:x0 = [( xL + xH × 256) × 横向移动单位]

纵向起始位置:y0 = [( yL + yH × 256) × 纵向移动单位]

打印区域宽度:dx = [ (dxL + dxH × 256) × 横向移动单位]

打印区域高度:dy = [ (dyL + dyH × 256) × 纵向移动单位]

[数据格式] ASCII ESC W xL xH yL yH dxL dxH dyL dyH

- 8 -

保密

编程手册

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

[编程示例]

Hex 1B 57 xL xH yL yH dxL dxH dyL dyH

Decimal 27 87 xL xH yL yH dxL dxH dyL dyH

0 ≤ xL, xH, yL, yH, dxL, dxH, dyL, dyH ≤ 255 (除过 dxL= dxH=0或

dyL=dyH=0)

• 该指令在标准模式下只设置内部标志位,不影响打印。

• 如果横向起始位置或纵向起始位置超出打印区域,打印机停止处理该指令,其后的数据按普通数据处理。

• 如果打印区域的宽度或高度被设置为0,打印机停止处理该指令,其后的数 据按普通数据处理。

• 该指令与ESC T指令一起确定当前打印位置。

• 如果横向起始位置 + 打印区域宽度的值超出可打印区域,则打印区域的宽度自动调整为横向可打印宽度 - 横向起始位置。

• 如果纵向起始位置 + 打印区域高度的值超出可打印区域,则打印区域的高度自动调整为纵向可打印高度 - 纵向起始位置。

• 横向和纵向的移动单位由GS P指定,改变横向和纵向移动单位不会改变当前 的打印区域。

• 用横向移动单位设置横向起始位置和区域宽度,用纵向移动单位设置纵向起始位置和区域高度。

• 假设横向起始位置、纵向起始位置、打印区域宽度和打印区域高度为 X,Y,Dx,Dy,打印区域的设置如下图所示:

与打印机配置有关

CAN, ESC L, ESC T, GS P

0A

1D 50 CB CB(设置打印机分辨率为203×203)

1B 4C (进入页模式)

1B 57 20 00 00 00 40 01 90 01 (设置页模式打印区域)

1B 24 00 00(设置横向绝对起始位置为起始点)

41

1B 24 32 00(设置横向绝对起始位置为50/203英寸)

42

1B 24 64 00(设置横向绝对起始位置为100/203英寸)

- 9 -

保密

编程手册

43

0A(换行)

1B 24 00 00(设置横向绝对起始位置为起始点)

41

1B 5C 32 00(设置横向相对绝对起始位置为50/203英寸)

42

1B 5C 64 00(设置横向相对起始位置为100/203英寸)

43

0A(换行)

0C(页模式打印)

实际执行结果:

ESC nL nH 设置横向相对打印位置

[功能描述]

[数据格式]

以横向或纵向移动单位设置横向相对位移。

• 该指令将打印位置设置到距当前位置[( nL + nH × 256) ×横向或纵向移动单位]处。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

ESC

1B

27

5C

92

nL nH

nL nH

nL nH

0 ≤ nl ≤ 255 0 ≤ nH ≤ 255

• 超出可打印区域的设置将被忽略。

• 当打印位置向右移动时:nL+ nH × 256 = N。

• 当打印位置向左移动时采用补码:nL+ nH × 256 = 65536 – N。

• 打印起始位置从当前位置移动到[ N × 横向移动单位或者纵向移动单位]。

• 横向和纵向移动单位由GS P指令设置。

• 在标准模式下,使用横向移动单位。

• 在页模式下,根据打印区域的方向和起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向

动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向

动单位;

移移[相关指令] ESC $, GS P

- 10 -

保密

编程手册

ESC a n 选择字符对齐模式

[功能描述]

[数据格式]

使所有的打印数据按某一指定对齐方式排列。

ASCII

Hex

Decimal

[取值范围]

ESC a

1B

27

61

97

n

n

n

0 ≤ n ≤ 2, 48 ≤ n ≤ 50

n 的取值与对齐方式对应关系如下:

n

对齐方式

左对齐

中间对齐

右对齐

0,48

1, 49

2, 50

[应用注释] • 该指令只在标准模式下的行首有效。

• 该指令在页模式下只改变内部标志位。

• 该指令根据HT, ESC $ 或 ESC 指令来调整空白区域。

[ 默认值 ]

[编程示例]

实际执行结果:

n = 0

0A(进入行模式)

1B 40(初始化)

1B 61 00(设置字符左对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

1B 61 01(设置字符中对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

1B 61 02(设置字符右对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

GS $ nL nH 页模式下设置纵向绝对位置

[功能描述]

[数据格式]

这条指令设置也模式下的纵向绝对位置。

ASCII GS $ nL nH

- 11 -

保密

编程手册

Hex

Decimal

[取值范围]

[应用注释]

1D

29

24

36

nL nH

nL nH

0 ≤ nL ≤ 255, 0 ≤ nH ≤ 255

• 这条指令只有在页模式下有效。

• 如果 [( nL + nH × 256) × (纵向或横向移动单位)] 超出设定的打印区域,这条命令被忽略。

• 执行该指令后,横向位置不改变。

• 相关指令位置由 ESC T 指令设置。

• 根据ESC T 指令设置的打印区域方向和起始位置的不同,该指令使打印机进

如下操作:

① 如果打印起始位置为左上角或者右下角,该指令在与走纸方向平行的方向上设置绝对位置。

② 如果打印起始位置为右上角或者左下角,该指令在与走纸方向垂直的方向上设置绝对位置。

• 横向和纵向移动单位是由 GS P 指令设置的。

行 [相关指令]

[编程示例]

ESC $, ESC T, ESC W, ESC , GS P, GS

参见 ESC W

GS L nL nH 设置左边距

[功能描述]

[数据格式]

左边距设置为 [( nL + nH × 256) × 横向移动单位)] 英寸。

ASCII

Hex

Decimal

[取值范围]

[应用注释] • 在标准模式下,该命令只有在行首才有效。

• 在页模式下,此命令无效,打印机将该命令当作作普通字符处理。

• 此命令不影响在页模式下的打印。

• 如果设置超出了最大可用打印宽度,则取最大可用打印宽度

• 横向和纵向移动单位是由 GS P命令设置的,改变纵向和横向移动单位不影

响当前的左边距。

[ 默认值 ]

[相关指令]

[编程示例]

nL = 0, nH = 0

GS P, GS W

0A(打印位置设置为行首)

1B 40(初始化)

- 12 -

GS L

1D

29

4C

76

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

保密

编程手册

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

1D 4C 30 00(设置左边距为48/203英寸)

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

1D 57 C8 00(设置打印宽度为200/203英寸)

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

实际执行结果:

GS P x y 设置横向和纵向可移动单位

[功能描述]

[数据格式]

分别将横向移动单位近似设置成25.4/ x mm( 1/ x 英寸)纵向移动单位设置 成25.4/

y mm(1/ y 英寸)

ASCII

Hex

Decimal

[取值范围]

[应用注释]

GS P

1D

29

50

80

x

x

x

y

y

y

0 ≤ x ≤ 255

0 ≤ y ≤255

• 当 x 和 y 为0时, x 和 y被设置成默认值。

• 垂直于进纸方向为横向,进纸方向为纵向。

• 在标准模式下,下列命令用x 或者 y,即使字符旋转(倒置或者顺时针旋转90°也不改变;

①② 用 x 的命令: ESC SP, ESC $, ESC , FS S, GS L, GS W

用 y 的命令:ESC 3, ESC J, GS V

• 页模式下,用 x 或者 y 要根据区域方向和打印起始位置来定:

① 当打印起始位置用ESC T命令设置成左上角(打印方向从左到右)或者右下角(打印方向从右到左)时:

用 x 的命令: ESC SP, ESC $, ESC W, ESC , FS S

用 y 的命令: ESC 3, ESC J, ESC W, GS $, GS , GS V

② 当打印起始位置用ESC T命令设置成右上角(打印方向从上到下)或者左下角(打印方向从下到上)时:

用 x 的命令: ESC 3, ESC J, ESC W, GS $, GS

用 y 的命令: ESC SP, ESC $, ESC W, ESC ,FS S, GS V

- 13 -

保密

编程手册

• 此命令不影响以前前设定的其他设置。

• 最小移动单位的是由该命令和其它命令综合作用的结果。

• 一英寸等于25.4mm.。

[ 默认值 ]

[相关指令]

x = 203, y =203,此时一个移动单位就是一个打印点。横向距离大约为1/8mm,纵向距离大约为1/8mm。

ESC SP, ESC $, ESC 3, ESC J, ESC W, ESC , GS $, GS L, GS V, GS W, GS

GS W nL nH 设置打印区域宽度

[功能描述]

[数据格式]

设置打印区域宽度。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS W

1D

29

57

87

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

• 将打印区域宽度设置为[( nL + nH × 256) × 横向移动单位)]英寸。

• 在标准模式下,此命令仅在行首有效。

• 在页模式下此命令无效,命令数据被当成普通字符处理。

• 此命令不影响页模式下的打印。

• 如果[左边距 + 打印区宽度]超出可打印区域,则打印区域宽度为可打印区域宽度减去左边距。

• 横向和纵向移动单位由GS P命令设置。改变横向和纵向移动单位不影响当前左边距和区域宽度。

•计算打印区宽度使用横向移动单位。

[ 默认值 ]

[相关指令]

[编程示例]

nL = 76, nH = 2

GS L, GS P

参见 GS L

GS nL nH 页模式下设置纵向相对位置

[功能描述]

[数据格式]

页模式下,以当前点为相关指令点设置纵向移动距离

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS

1D

29

5C

92

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

• 这条命令设置相对于当前点的纵向移动距离为[( nL + nH × 256) × 纵向或者横向移动- 14 -

保密

编程手册

单位] 英寸。

• 此命令只在页模式下有效,在其它模式下被忽略。

• 当打印位置向下移动时:nL + nH × 256 = N

当打印位置向上移动时,用补码计算:nL + nH × 256 = 65536 - N

• 任何超出打印区域的设置被忽略。

• 此命令根据由ESC T设置的打印区域方向来确定使用移动单位:

当打印起始位置设置成左上角(打印方向从左到右)或者右下角(打印方向从右到左),使用纵向移动单位。

当打印起始位置设置成右上角(打印方向从上到下)或者左下角(打印方向从下到上),使用横向移动单位。

• 横向和纵向移动单位由GS P命令设置。

• GS P 命令能改变横向和纵向移动单位。

[相关指令]

ESC $, ESC T, ESC W, ESC , GS $, GS P

2.3 字符指令

CAN 页模式下删除打印缓冲区内容

[功能描述]

[数据格式]

页模式下删除当前区域下的内容

ASCII

Hex

Hecimal

[应用注释]

[相关指令]

[编程示例]

CAN

18

24

• 该指令只在页模式下有效。

• 如果先前设定区域与当前区域有重叠部分,重叠部分也被删除。

ESC L, ESC W

1B 40(打印机初始化)

1D 50 CB CB(设置打印机分辨率为203×203)

1B 4C (进入页模式)

1B 57 00 00 00 00 20 02 E8 00(设置页模式下打印宽度、高度)

31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70

71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66

67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37

38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77

78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D

6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64

65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34

35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74

75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A

6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 31 32 33 34 35 36 37 38 39 30 61 62

63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79

- 15 -

保密

编程手册

1B 57 44 00 10 00 7C 01 AA 00(设置需要取消的页面大小)

18(删除页缓冲区的数据)

1B 24 64 00(设置横向绝对打印位置为100点)

1D 24 60 00 (设置纵向绝对打印位置为96点)

43 61 6E 63 65 6C 20 74 68 65 20 64 61 74 61 20

0A 0C(打印)

实际执行结果:

ESC SP n 设置字符右间距

[功能描述]

[数据格式]

设置字符右间距

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

0 ≤ n≤255

• 设置字符的右间距为[n×横向移动单位或纵向移动单位]英寸。

• 当字符放大时,间距随之放大相同的倍数。

• 此指令设置的值在页模式和标准模式下是相互独立的。

• 横向或纵向移动单位由GS P指定。改变横向或纵向移动单位不改变当前右间距。

• 标准模式下,使用横向移动单位。

• 在页模式下,根据区域的方向和起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向移动单位;

• 最大右间距是 255/203 英寸。 任何超过这个值的设置都自动转换为最大右间距。

[ 默认值 ]

[编程示例]

n = 0

1B 40

1B 20 00(设置字符间距为0)

41 41 41 41 41 0A

1B 20 06(设置字符间距为6/203英寸)

- 16 -

ESC SP n

1B

27

20

32

n

n

保密

编程手册

42 42 42 42 42 0A

1B 20 0C(设置字符间距为12/203英寸)

43 43 43 43 43 0A

实际执行结果:

ESC ! n 选择打印模式

[功能描述]

[数据格式]

选择打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

1/0 HEX Decimal

功能

ESC !

1B

27

21

33

n

n

n

0 ≤ n ≤ 255

• 根据n的值设置字符打印模式

0

1,2

3

4

5

6

7

0

1

00

01

0

1

标准ASCII字体 (12 × 24)

压缩ASCII字体 (9 × 17)

未定义

取消加粗模式

选择加粗模式

取消倍高模式

选择倍高模式

取消倍宽模式

选择倍宽模式

0

1

0

1

0

1

00

08

00

10

00

20

0

8

0

16

0

32

未定义

取消下划线模式

选择下划线模式

0

1

00

80

0

128

• 当倍宽和倍高模式同时选择时,字符同时在横向和纵向放大两倍。

• 除了HT 设置的空格和顺时针旋转90° 的字符,其余任何字符都可以加下划线。

• 下划线度由 ESC - 确定,与字符无关。

• 当一行中部分字符为倍高或更高,所有字符以底端对齐。

• ESC E也能选择或取消加粗模式,最后被执行的指令有效。

• ESC – 也能选择或取消下划线模式,最后被执行的指令有效。

• GS ! 也能设置字符大小,最后被执行的指令有效。

[ 默认值 ] n = 0

- 17 -

保密

编程手册

[相关指令]

[编程示例]

实际执行结果:

ESC -, ESC E, GS !

1B 40(初始化打印机)

1B 21 00(选择打印模式为正常打印)

48

1B 21 01(选择压缩字体打印)

48

1B 21 08(选择加粗模式)

48

1B 21 10(选择倍高模式)

48

1B 21 20(选择倍宽模式)

48

1B 21 80(选择下划线模式)

48

1B 21 B9(选择压缩字体、加粗、倍高、倍宽、下划线模式)

48 0A

ESC % n 选择/取消用户自定义字符

[功能描述]

[数据格式]

选择或取消用户自定义字符。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

0 ≤ n ≤255

• 当n的最低位为0时,不使用用户自定义字符。

• 当n的最低位为1时,使用用户自定义字符。

• 当取消使用用户自定义字符的时候,自动使用内部字库。

• n 只有最低位有效。

n = 0

ESC &, ESC ?

- 18 -

ESC %

1B

27

25

37

n

n

n

保密

编程手册

ESC & y c1 c2 [d(y × x1)]...[d(y × xk)] 定义用户自定义字符

[功能描述]

[数据格式]

定义用户自定义字符

ASCII

Hex

Hecimal

[取值范围] y = 3

32 ≤ c1 ≤ c2 ≤ 127

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是下载字符的数据。各点的数据从左边开始。

• 自定义字符的大小是 (y

× x) 字节。

• 数据的各个位为1表示大打印这个点,为0表示不打印。

• 当下列情况,用户自定义字符被清除:

①ESC ? 被执行。

②打印机电源关闭。

[ 默认值 ]

[相关指令]

[ 示例 ]

• 当选择标准ASCII字体 (12

× 24) 时

- 19 -

ESC &

1B

27

26

38

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

内部字库设置

ESC %, ESC ?

保密

编程手册

• 当选择压缩ASCII字体时 (9

×

17)

- 20 -

保密

编程手册

ESC – n 选择/取消下划线模式

[功能描述]

[数据格式]

选择/取消下划线模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC -

1B

27

2D

45

n

n

n

0 ≤ n ≤2, 48 ≤n ≤ 50

根据n的值选择或取消下划线模式:

n

功能

取消下划线模式

选择下划线模式(1点宽)

选择下划线模式(2点宽)

0, 48

1, 49

2, 50

• 下划线可加在所有字符下(包括右间距),但不包括HT设置的空格。

• 下划线不能作用在顺时针旋转90° 和反显的字符下。

• 当取消下划线模式时,后面的字符不加下划线,下划线的宽度不改变。默认 宽度是一点宽。

• 改变字符大小不影响当前下划线宽度。

• 下划线选择取消也可以由 ESC !来设置。最后执行的指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC !

1B 40

1B 2D 02(两点下划线宽线)

41 41 41 41 41 41 0A

1B 2D 01(一点下划线宽)

42 42 42 42 42 42 0A

1B 2D 00(无下划)

43 43 43 43 43 43 0A

实际执行结果:

ESC ? n 取消用户自定义字符

[功能描述]

[数据格式]

取消用户自定义字符。

ASCII

Hex

ESC ?

1B 3F

n

n

- 21 -

保密

编程手册

Hecimal

[取值范围]

[应用注释]

[相关指令]

27 63 n

32 ≤n ≤127

• 取消用户自定义字符中代码为n的字符。取消后,此字符使用内部字库。

• 如果自定义字符中没有该字符,该指令被忽略。

ESC &, ESC %

ESC E n 选择/取消加粗模式

[功能描述]

[数据格式]

选择/取消加粗模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

[编程示例]

ESC E

1B

27

45

69

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消加粗模式。

• 当n的最低位为1时,选择加粗模式。

• n只有最低位有效。

• ESC ! 样可以选择/取消加粗模式,最后接收的命令有效。

n = 0

ESC !

1B 40

1B 45 01(选择字符加粗)

41 41 41 41 41 0A

1B 45 00(选择字符不加粗)

42 42 42 42 42 0A

实际执行结果:

ESC G n 选择/取消双重打印模式

[功能描述]

[数据格式]

选择/取消双重打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC G

1B

27

47

71

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消双重打印模式。

• 当n的最低位为1时,选择双重打印模式。

• n只有最低位有效。

• 该指令与加粗打印效果相同。

- 22 -

保密

编程手册

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC E

参见 ESC E

ESC M n 选择字体

[功能描述]

[数据格式]

选择字体

ASCII

Hex

Hecimal

[取值范围]

n

ESC M

1B

27

4D

77

n

n

n

功能

选择标准ASCII字体 (12 × 24)

选择压缩ASCII字体 (9 × 17)

n = 0, 1, 2,3,48, 49,50,51

0,48

1,49

2,50

3,51

选择用户自定义字符

选择汉字(24 × 24)

[编程示例]

1B 40

1B 4D 01(选择压缩字体)

41 41 41 42 42 42 30 30 30 31 31 31 0A

1B 4D 00(选择标准字体)

41 41 41 42 42 42 30 30 30 31 31 31 0A

实际执行结果:

ESC R n 选择国际字符集

[功能描述]

[数据格式]

选择国际字符集

ASCII ESC R n

Hex 1B 52 n

Decimal 27 82 n

0 ≤ n ≤ 12

选择n所对应的国际字符集,如下表:

n

0

1

2

3

4

5

字符集

美国(U.S.A)

法国(France)

德国(Germany)

英国(U.K)

丹麦 I(Denmark I)

瑞典(Sweden)

- 23 -

[取值范围]

[应用注释]

保密

编程手册

6

意大利(Italy)

7

8

9

10

11

12

13

西班牙 I(Spain I)

日本(Japan)

挪威(Norway)

丹麦 II (Denmark II)

西班牙 II Spain II

拉丁美洲(Latin America)

韩国(Korea)

[默认值]

n = 0

ESC V n 选择/取消顺时针旋转90度

[功能描述]

[数据格式]

选择/取消顺时针旋转90度

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC V

1B

27

56

86

n

n

n

0 ≤ n ≤ 1, 48 ≤ n ≤ 49

n 的取值如下:

n

0,48

1,49

功能

取消顺时针旋转90度模式

选择顺时针旋转90度模式

• 该指令只在标准模式下有效。

• 当选择下划线模式时,下划线不能顺时针旋转90度。

• 顺时针旋转90度模式下的倍高和倍宽与正常模式下的方向相反。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC !, ESC

1B 40

1B 56 01(选择顺时针90度模式)

41 41 41 42 42 42 0A

1B 56 00(取消顺时针90度模式)

41 41 41 42 42 42 0A

实际执行结果:

ESC t n 设置代码页

[功能描述]

[数据格式]

设置代码页

ASCII

Hex

ESC t

1B 74

n

n

- 24 -

保密

编程手册

Hecimal

[取值范围]

27

n

0

1

2

3

4

5

16

17

18

19

116 n

代码页

PC437

Katakana

PC850

PC860

PC863

PC865

WPC1252

PC866

PC852

PC858

0≤n≤5, 16≤n≤19

[应用注释]

[ 默认值 ]

中文字库该指令无效。

缺省为PC437码

ESC { n 选择/取消倒置打印模式

[功能描述]

[数据格式]

选择/取消倒置打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC {

1B

27

7B

n

n

123 n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消倒置打印模式。

• 当n的最低位为1时,选择倒置打印模式。

• 只有n的最低位有效;

• 该指令只在标准模式下的行首有效。

• 该指令在页模式下,只改变内部标志位。

• 该指令对页模式打印无影响。

• 在倒置打印模式下,打印机先将要打印的行旋转180度然后打印。

[ 默认值 ]

[编程示例]

实际执行结果:

n = 0

1B 40

1B 7B 01(选择倒置打印模式)

41 42 43 44 45 46 0A

30 31 32 33 34 35 0A

1B 7B 00(取消倒置打印模式)

41 42 43 44 45 46 0A

30 31 32 33 34 35 0A

- 25 -

保密

编程手册

GS ! n 选择字符大小

[功能描述]

[数据格式]

选择字符大小

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS !

1D

29

21

33

n

n

n

0 ≤ n ≤ 255

(1 ≤ 纵向放大倍数 ≤ 6,1 ≤ 横向放达倍数 ≤ 6)

用 0 到 2 位选择字符高度,4 到 7 位选择字符宽度

如下所示:

0/1 Hex Decimal

功能

0-3

4-7

字符高度选择, 见表2

字符宽度选择, 见表1

表 1

字符宽度选择 字符高度选择

Hex Decimal Hex Decimal

横向放大

1(正常)

2(2倍宽)

3

4

5

6

表 2

纵向放大

1 (正常)

2 (2倍高)

3

4

5

6

00

10

20

30

40

50

0

16

32

48

64

80

00

01

02

03

04

05

0

1

2

3

4

5

• 这条指令对所有字符(ASCII字符和汉字)都有效,但是HRI字符除外。

• 如果 n 超出了规定的取值范围,则这条指令被忽略。

• 在标准模式下,纵向是进纸方向,横向是垂直于进纸的方向。但是当字符顺时针旋转90°时,横向和纵向颠倒。

• 页模式下,横向和纵向取决于区域的方向。

• 同一行字符的放大倍数不同时,所有的字符以底线对齐。

• ESC ! 指令也可以选择或者取消字符倍宽和倍高,最后接收的指令有效。

[ 默认值 ] n = 0

- 26 -

保密

编程手册

[相关指令]

[编程示例]

ESC !

参见 ESC!

GS B n 选择/取消黑白反显打印模式

[功能描述]

[数据格式]

选择 / 取消黑白反显打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS B

1D

29

42

66

n

n

n

0 ≤ n ≤ 255

• 当 n 的最低位为 0时,取消反显打印。

• 当 n 的最低位为 1时,选择反显打印。

• n只有最低位有效。

• 这条命令对所有字符(除过HRI字符)有效。

• 选择反显打印后,由ESC SP指令设置的字符间距也反显。

• 这条指令不影响位图、自定义位图、条码、HRI字符以及由HT, ESC $, and ESC 设定的空白。

• 这条指令不影响行与行之间的空白。

• 黑白反显打印模式比下划线模式优先级高。在黑白反显打印模式选择时,下划线模式不起作用,取消黑白反显模式后,设定下划线模式才起作用。

[ 默认值 ]

[编程示例]

n = 0

1B 40

1D 42 01(选择黑白反显打印)

41 41 41 42 42 42 0A

1D 42 00(取消黑白反显打印)

41 41 41 42 42 42 0A

实际执行结果:

FS ! n 设置汉字字符模式

[功能描述]

[数据格式]

设置汉字字符模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

用 n 值设置汉字的打印模式如下:

0/1 Hex Decimal

- 27 -

功能

FS

1C

28

!

21

33

n

n

n

保密

编程手册

0, 1

2

3

4-6

7

0

1

0

1

0

1

未定义

取消倍宽

选择倍宽

取消倍高

选择倍高

00

04

00

08

0

4

0

8

未定义

取消下划线

选择下划线

00

80

0

128

• 当倍宽与倍高度模式同时被设定时,字符横向和纵向同时被放大两倍(包括左右间距)。

• 打印机能对所有字符加下划线,包括左右间距。但不能对由于HT指令(横向跳格)引起的空格进行加划线,也不对顺时针旋转90度的字符加下划线。

• 下划线线宽由FS -设定,与字符大小无关。

• 当一行中字符高度不同时,该行中的所有字符以底线对齐。

• 可以用FS W 或者 GS !对字符加粗,最后一条指令有效。

• 也可以用FS –选择或取消下划线模式,最后一条指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

FS - , FS W,GS !

参见 ESC !

FS & 选择汉字模式

[功能描述]

[数据格式]

选择汉字模式

ASCII

Hex

Hecimal

[应用注释]

FS

1C

28

&

26

38

• 当选中汉字模式时,打印机判断字符是否为汉字内码,如是汉字内码,先处理第一字节,然后判断第二字节是否为汉字内码。

• 打印机上电后自动选择汉字模式;

[相关指令] FS . , FS C

FS – n 选择/取消汉字下划线模式

[功能描述]

[数据格式]

选择 / 取消汉字下划线模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

-

2D

45

n

n

n

0 ≤ n ≤ 2, 48 ≤ n ≤ 50

根据 n 的值,选择或取消汉字的下划线:

n

- 28 -

功能

保密

编程手册

0, 48

1, 49

2, 50

取消汉字下划线

选择汉字下划线(1点宽)

选择汉字下划线(2点宽)

打印机能对所有字符加下划线,包括左右间距。但不能对由HT指令(横向跳格)引起的空格加下划线,也不对顺时针旋转90度的字符加下划线。

• 消下划线模式后,不再执行下划线打印,但原先设置的下划线宽度不会改变。默认下划线线宽为1点。

• 即使改变字符大小,设定的下划线线宽也不会改变。

• 用FS !也可选择或取消下划线模式,最后一条指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

FS !

参见 ESC _

FS . 取消汉字模式

[功能描述]

[数据格式]

取消汉字模式

ASCII

Hex

Hecimal

[应用注释]

[相关指令]

FS

1C

28

.

2E

46

• 当汉字模式被取消时,所有字符都当作作ASCII字符处理,每次只处理一个字节。

• 上电自动选择汉字模式。

FS &, FS C

FS 2 c1 dk 定义用户自定义汉字

[功能描述]

[数据格式]

定义用户自定义汉字

ASCII

Hex

Hecimal

[取值范围]

c1 = FEH

A1H ≤ c2 ≤ FEH

0 ≤ d ≤ 255

k = 72

[应用注释]

[ 默认值 ]

[相关指令]

- 29 -

FS

1C

28

2

32

50

c1 dk

c1 dk

c1 dk

c1 ,c2代表定义字符的字符编码

• c1 ,c2代表用户自定义汉字的编码,c1指定第一个字节,c2指定第二个字节。

• d代表数据。1表示打印一个点,0表示不打印点。

没有自定义汉字

FS C

自定义汉字字型与数据之间关系见下图:

保密

编程手册

FS S n1 n2 设置汉字字符左右间距

[功能描述]

[数据格式]

设置汉字字符左右间距

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

S

53

83

n1 n2

n1 n2

n1 n2

0 ≤ n1 ≤ 255

0 ≤ n2 ≤ 255

分别将汉字的左间距和右间距设置为 n1 和 n2。

• 当打印机支持GS P指令时,左间距是 [n1 × 横向或者纵向移动单位]英寸,右间距是[n2

× 横向或者纵向移动单位]英寸。

• 设置倍宽模式后,左右间距也加倍。

• 移动单位是由GS P指令设置的。 即使横向和纵向移动单位被GS P改变,原先设定的- 30 -

保密

编程手册

字符间距也不改变。

• 在标准模式下,用横向移动单位。

• 在页模式下,根据打印区域起始位置来选择是用横向移动单位还是纵向移动单位:

① 当起始位置在打印区域的左上角或右下角,用横向移动单位。

② 当起始位置在打印区域的右上角或左下角,用横向移动单位。

③ 汉字的最大右间距约为36mm,超过此值取最大值。

[ 默认值 ]

[相关指令]

[编程示例]

n1 = 0, n2 = 0

GS P

参见 ESC SP

FS W n 选择/取消汉字倍高倍宽

[功能描述]

[数据格式]

选择 / 取消 汉字倍高倍宽

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

W

57

87

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0,取消汉字倍高倍宽模式。

• 当n的最低位为1,选择汉字倍高倍宽模式。

• 只有n的最低位有效

• 在汉字倍高倍宽模式模式下,打印汉字的大小,与同时选择倍宽和倍高模式时相同。

• 取消汉字倍高倍宽模式后,以后打印出的汉字为正常大小。

• 当一行字中字符高度不同时,该行中的所有字符都按底线对齐。

• 也可以通过FS ! 或者 GS !指令(选择倍高和倍宽模式)来选择或取消汉字倍高倍宽模式,最后接收到的指令有效。

[ 默认值 ]

[相关指令]

n = 0

FS !, GS !

2.4 位图指令

ESC * m nL dk 选择位图模式

[功能描述]

[数据格式]

选择位图模式

ASCII

Hex

Hecimal

[取值范围]

ESC *

1B

27

2A

42

m nL dk

m nL dk

m nL dk

m = 0, 1, 32, 33

0 ≤ nL ≤ 255

0 ≤ nH ≤ 3

0 ≤ d ≤255

[应用注释] 选择由 m 指定的一种位图模式,位图点数由nL和nH确定:

- 31 -

保密

编程手册

m 模式

纵向 横向

点数 分辨率 分辨率 数据个数(k)

0 8点单密度 8 203/3 DPI 101 DPI nL + nH × 256

1 8点双密度 8 203/3 DPI 203 DPI nL + nH × 256

32 24点单密度 24 203 DPI 101 DPI ( nL + nH × 256) × 3

33 24点双密度 24 203 DP 203 DPI ( nL + nH × 256) × 3

• 如果m的值超出规定取值范围,nL 和其后的数据被作为普通数据处理。

• 横向打印点数由nL和nH决定,总的点数为 nL + nH

× 256。

• 位图超出当前区域的部分被截掉。

• d 是位图的数据。数据各个位为1则打印这个点,为0不打印。

• 位图数据发送完成后,打印机返回普通数据处理模式。

• 除了倒置模式,这条指令不受其它打印模式影响 (加粗、双重打印、下划线、大和反显)。

• 数据和要打印点的关系如下:

选择8点密度时:

选择24点密度时:

- 32 -

字符放

保密

编程手册

GS # n 定义当前下载图号

[功能描述]

[数据格式]

选择当前的下载位图图号,下载位图和打印位图根据此图号进行

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

1 ≤ n ≤ 8

该命令只针对下载到RAM中的位图,设定内容掉电后丢失。

下载到FLASH中的位图不使用本命令指定的图号。

GS #

1D

29

23

33

n

n

n

GS * x d(x × y × 8) 定义下载位图

[功能描述]

[数据格式]

定义下载位图

ASCII

Hex

Hecimal

[取值范围]

GS *

1D

29

2A

42

x d(x

× y

× 8)

x d(x

× y

× 8)

x d(x

× y

×

8)

1 ≤ x ≤ 255, 1 ≤ y ≤ 48

x

× y ≤ 912

0 ≤ d ≤ 255

[应用注释]

• x 指定位图的横向字节数;

• y 指定位图的纵向字节数。

• 位图横向上的点数为 x

× 8;位图纵向上的点数为 y

× 8。

• 如果 x

× y 超出规定的取值范围,则这条指令无效。

• d为位图数据。数据对应位为1表示打印该点,为0表示不打印。

• 下载的位图在下列情况下被清除:

① 打印机电源关闭。

• 打印数据和下载位图的关系如下图所示:

- 33 -

保密

编程手册

[相关指令] GS /

GS / m 打印下载位图

[功能描述]

[数据格式]

打印下载位图

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS /

1D

29

2F

47

m

m

m

0 ≤ m ≤ 3, 48 ≤ m ≤ 51

打印一幅下载位图,打印模式由 m 指定

m 选择打印模式如下:

m

模式

正常

倍宽

倍高

倍宽、倍高

纵向分辨率 (DPI) 横向分辨率 (DPI)

0, 48

1, 49

2, 50

3, 51

203

203

101

101

203

101

203

101

• 如果下载的位图没有被定义,这条指令被忽略。

• 在标准模式下,只有打印缓冲区没有数据时,此指令才有效。;

• 除倒置打印模式外,其它打印模式对该指令无效(包括加粗、双重打印、下划线、字体放大以及反显打印等)。

• 如果下载的位图超出了打印区域,则超出的部分不打印。

• 该命令打印位图为下载到RAM中的位图,不是下载到FLASH中的位图,对应的图号为GS # 命令设置的图号。

[相关指令] GS * ,GS #

GS v 0 m xL xH yL dk 打印光栅位图

[功能描述]

[数据格式]

打印光栅位图

ASCII

Hex

Hecimal

GS v

1D

29

76

0 m xL xH yL dk

30 m xL xH yL dk

118 48 m xL xH yL dk

- 34 -

保密

编程手册

[取值范围] 0 ≤ m ≤ 3, 48 ≤ m ≤ 51

0 ≤ xL ≤ 255

0 ≤ xH ≤ 255

0 ≤ yL ≤ 255

0 ≤ d ≤ 255

k = ( xL + xH × 256) × ( yL + yH × 256) ( k ≠ 0)

[应用注释] 打印光栅位图,由m值选择光栅位图模式

m

模式

正常

倍宽

倍高

倍宽、倍高

纵向分辨率 (DPI) 横向分辨率(DPI)

0, 48

1, 49

2, 50

3, 51

203 DPI

203 DPI

101 DPI

101 DPI

203 DPI

101 DPI

203 DPI

101 DPI

• xL、xH表示水平方向位图字节数(xL+ xH × 256)

• yL、yH表示垂直方向位图点数( yL+ yH × 256)

• 在标准模式下,只有打印机缓冲区无数据时该指令才有效。

• 字符放大、加粗、双重打印、倒置打印、下划线、黑白反显等打印模式对该指令无效。

• 位图超出打印区域的部分不打印。

• ESC a(选择对齐模式)对光栅位图有效。

• 宏定义的过程中,该命令将停止宏定义而执行该命令。该命令不作为宏定义的一部分。

• d 代表位图数据。每个字节的相应位为1表示打印该点,为0不打印该点。

[ 示例 ]

当 xL+ xH × 256 = 64

FS p n m 打印下载到FLASH中的位图

[功能描述]

[数据格式]

打印下载到FLASH中的位图

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

p

70

n

n

m

m

m 112 n

1 ≤ n ≤ 255 0 ≤ m ≤ 3 , 48 ≤ m ≤51

以m指定的模式打印下载到FLASH中的位图。

m

模式 纵向分辨率 (DPI) 横向分辨率 (DPI)

0.48

1.49

正常模式

倍宽模式

203

203

- 35 -

203

101

保密

编程手册

2.50

3.51

倍高模式

倍高倍宽模式

101

101

203

101

• n表示位图(由指令FS q定义)的图号。

• m指定打印位图的模式。

• Flash位图是由指令FS q定义存储在Flash存储器中并用指令FS p打印的位图。

• 当Flash 位图没有被定义时,该指令无效。

• 在标准模式下,该指令只有在打印缓冲区里没有数据时有效。

• 该指令除了受倒置打印模式的影响外,不受其他打印模式的影响(如:倍高、倍宽、下划线、字符放大、反显打印、顺时针旋转90度等)。

• 如果所要打印的下载位图超出当前打印区域,则不打印超出的部分。

• 打印完位图后,打印机换行,按普通模式处理其后的数据。

[相关指令] ESC *, FS q, GS /, GS v 0

FS q n [xL xH yL [xL xH yL dk]n 定义Flash位图

[功能描述]

[数据格式]

定义Flash 位图

ASCII

Hex

Hecimal

[取值范围]

FS

1C

28

q

71

n [ xL xH yL dk]

n [ xL xH yL dk]

[ xL xH yL dk]

[ xL xH yL dk]

[ xL xH yL dk] 113 n [ xL xH yL dk]

1 ≤ n ≤ 255

0 ≤ xL ≤ 255

1 ≤ ( xL + xH × 256) ≤ 1023

1 ≤ ( yL + yH × 256) ≤ 8190

0 ≤ d ≤ 255

k = ( xL + xH × 256) × ( yL + yH × 256) × 8

[应用注释]

• Flash下载容量最大为256K,打印机配置不同,Flash下载容量可能小于256K

• n 指定所要定义的Flash 位图的数目。

• xL、 xH指定Flash 位图的横向点数( xL + xH × 256) × 8。

• yL、 yH指定Flash 位图的纵向点数( yL + yH × 256) × 8。

• 频繁执行该指令能损坏Flash 存储器,推荐每天最多写Flash 10次。

• 该指令删除所有的以前由该指令定义的Flash 位图,打印机不能对上一次定义的多幅位图中的一个进行重新定义,在这种情况下,必须重新发送所有的数据。

• 由于在处理该指令的过程中,打印机处于忙状态,它向Flash 中写数据并且停止接收其他指令,因此,在该指令的执行过程中,禁止向打印机发送其他命令,包括实时指令。

• Flash位图是由指令FS q定义存储在Flash存储器中并用指令FS p打印的位图。

• 在标准模式下,该指令仅在行首时有效。

• 从 FS 到 yH 的七个字节数据作为命令数据处理,不是图形数据的一部分。

• 当位图数据字节数超出由它左边的xL、xH、yL、yH定义的取值范围,则打印机只处理xL、xH、yL、yH定义的取值范围的数据。

• 在第一组Flash位图里,当xL, xH, yL, yH中任何一个参数超出定义的取值范围时,该指- 36 -

保密

编程手册

[相关指令]

[ 示例 ]

令无效。

• 在下载多幅位图时,如果打印机处理xL、xH、yL、yH超出定义的取值范围,则打印机停止执行这条指令。命令中在此之后的位图无效,在此之前的位图有效。

• d是定义的位图数据,在数据中相应位为1表示打印该点,为0表示不打印。

• 这条指令定义了 n 幅Flash位图。每个位图的序列号从 1 依次增加,因此,第一个数据组 [xL xH yL dk] 是Flash位图 1 的数据,最后一个数据组 [xL xH yL yH

d1...dk] 是Flash位图 n 的数据。在用FS p 指令打印位图时,也是如此。

• 定义一幅Flash位图的数据由 [xL xH yL dk] 组成。因此,当只有一幅位图时,n = 1。打印机占用Flash存储器字节数如下:

[位图数据子结数:( xL + xH × 256)×( yL + yH × 256)× 8] + [头信息:4]

• 在打印机里Flash下载空间最大为64K bits ( 8K bytes),该指令可以定义多幅 Flash位图,但不能定义一幅大小超过64K bits的位图(不同的打印机下载空间也不相同,请参照打印机配置信息)。

• 在写Flash 之前,打印机立即处于忙状态。

• 在处理该指令的过程中,打印机不传送状态也不执行状态查询。

• 在宏定义的过程中接受到该指令,打印机将结束宏定义,开始执行该指令。

• 如果一幅Flash位图被定义,执行ESC @命令、复位和关闭电源不能将其擦 除。

• 该指令只是定义Flash位图,不执行打印,打印Flash位图由FS p指令执行。

FS p

当 xL = 64, xH = 0, yL = 96, yH = 0

- 37 -

保密

编程手册

2.5 状态指令

DLE EOT n实时状态传输

[功能描述]

[数据格式]

[取值范围]

[应用注释]

实时状态传输

ASCII DLE EOT n

Hex 10 04 n

Hecimal 16 4 n

1 ≤ n ≤ 4

n = 1:传输打印机状态

n = 2:传输脱机状态

n = 3:传输错误状态

n = 4:传输纸传感器状态

• 打印机收到该指令后立即返回相关状态

• 即使打印机被ESC =(选择外设)命令设置为禁止,该指令依然有效。

• 打印机传输当前状态,每一状态用1个字节表示。

• 打印机传输状态值并不确认主计算机是否收到。

• 打印机收到该指令立即执行。

• 该指令对串口、半字节并口、USB接口打印机有效。

• 打印机在任何状态下收到该指令都立即执行。

n = 1: 打印机状态

0/1 HEX Decimal

功能

0 0 00 0

固定为0

1 1 02 2

固定为1

一个或两个钱箱打开

2

0 00 0

1 04 4

两个钱箱都关闭

联机

3

0 00 0

1 08 8

脱机

4 1 10 16

固定为1

5,6

- - -

未定义

7 0 00 00

固定为0

n = 2: 脱机状态

位 0/1 HEX Decimal 功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2

0 00 0 上盖关

1 04 4 上盖开

3

0 00 0 未按走纸键

1 08 8 按下走纸键

- 38 -

保密

编程手册

[相关指令]

4 1 10 16 固定为1

5

0 00 0 打印机不缺纸

1 20 32 打印机缺纸

6

0 00 0 没有出错情况

1 40 64 有错误情况

7 0 00 0 固定为0

n = 3: 错误状态

0/1 HEX Decimal

功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2 - - - 未定义

3

0 00 0 切刀无错误

1 08 8 切刀有错误

4 1 10 16 固定为1

5 0 00 0 固定为0

0 00 0 打印头温度和电压正常

6

1 40 64

打印头温度或电压超出取值范围

7 0 00 0 固定为0

n = 4: 传送纸状态

位 1/0 HEX Decimal 功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2,3

0 00 0 非纸将尽状态

1 0C 12 纸将尽状态

4 1 10 16 固定为1

5,6

0 00 0 有纸

1 60 96 纸尽

7 0 00 0 固定为0

该指令尽量不要插在2个或更多字节的指令序列中。

例如:

如果试图将ESC 3 n 传送至打印机,但是n 传送之前DTR 变为MARK (DSR 用于主机),然后DLE EOT 3 在接收到n 之前中断。DLE EOT 3的代码<10>H 被处理为ESC

3 <10>H 的代码。

DLE ENQ, GS a, GS r

- 39 -

保密

编程手册

GS a n自动状态返回

[功能描述]

[数据格式]

自动状态返回

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS a

1D

29

61

97

n

n

n

0 ≤ n ≤ 255

确定自动状态返回的内容,参数n含义如下:

• n不等于0时,当该状态改变时,打印机自动返回四个字节的打印机状态

• n等于0时,自动状态返回功能无效

• 打印机自动返回状态字节时,不确认主计算机是否准备好

• 本命令与其他命令一起按顺序执行,所以从发送该命令到自动状态返回设置有效,有一定时间延迟

• 即使打印机被ESC = 命令设置为无效状态, 打印机仍按设置进行自动状态返回

• 返回的状态信息如下:

第一字节(打印机信息)

Bit Off/On Hex Decimal

打印机状态

不用,固定为0

不用,固定为0

钱箱接口3脚为低电平

钱箱接口3脚为高电平

打印机在线

打印机离线

不用,固定为1

打印机上盖合上

打印机上盖打开

未用进纸键进纸

正在用进纸键进纸

不用,固定为0

0

1

2

Off

Off

Off

On

3

4

5

00

00

00

04

00

08

10

00

20

00

40

00

Hex

-

-

-

0

0

0

4

0

8

16

0

32

0

64

0

Decimal

-

-

-

Off

On

On

Off

On

Off

On

Off

Off/On

-

-

6

7

第二字节 (打印机信息)

Bit

打印机状态

未定义

未定义

未定义

没有切刀错误

有切刀错误

不用,固定为0

无可恢复错误

有可恢复错误

0

1

2

3

4

5

-

Off

On

Off

Off

On

00

08

00

00

20

0

8

0

0

32

- 40 -

保密

编程手册

6

7

Off

On

Off

00

40

00

0

64

0

无可自动恢复错误

有可自动恢复错误

不用,固定为0

Bit 5: 类似于塞纸等错误为可恢复错误,这些错误可排除并用DLE ENQ n (1 ≤ n ≤ 2)命令使打印机恢复正常工作,类似于控制板损坏等错误为不可恢复错误

Bit 6: 类似于打印头过热等错误为可自动恢复错误,打印机出现这类错误时经过一段时间能够自动恢复到正常工作状态

第三字节 (纸传感器信息)

Bit Off/On Hex Decimal

打印机状态

未探测到纸将尽

纸将尽

未探测到纸尽

纸尽

不用,固定为0

-

未定义

不用,固定为0

0,1

2,3

4

5,6

7

Bit

Off

On

Off .

On .

Off

-

Off

Off/On

00

03

00

0C

00

-

00

Hex

0

3

0

12

0

0

Decimal

-

第四字节(纸传感器信息)

打印机信息

未定义

不用,固定为0

-

未定义

不用,固定为0

0-3

4

5,6

7

-

Off

-

Off

-

00

-

00 0

0

GS r n 返回状态

[功能描述]

[数据格式]

返回状态

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS r

1D

29

72

n

n

114 n

n = 1, 2, 49, 50

返回由n值指定的状态:

n

1,49

2,50

功能

返回纸传感器状态

返回钱箱状态

. 该指令对串口、半字节并口、USB接口打印机有效。

• 接收缓冲器中此命令前的数据被处理完之后,才执行这条指令,因此,发送该指令与接收到返回状态有一定的时间滞后。

• 返回状态字节各位对应关系如下所示:

纸传感器状态 ( n = 1,49 ):

0/1 Hex Decimal

- 41 -

状态

保密

编程手册

0,1

2,3

4

5,6

7

0

1

0

1

0

00

03

00

0c

00

0

3

0

12

0

纸将尽传感器,有纸

纸将尽传感器,纸将尽

纸尽传感器,有纸

纸尽传感器,缺纸

不用,固定为0

未定义

不用,固定为0 0f 00 0

钱箱状态 ( n = 2, 50):

0/1 Hex Decimal

状态

0

0

1

00

01

0

1

有钱箱打开

无钱箱打开

未定义

不用,固定为0

1- 3

4

5,6

7

[相关指令]

0

0 00

0

0

未定义

不用,固定为0 00

DLE EOT,GS a

2.6 条码指令

GS H n 选择HRI字符的打印位置

[功能描述]

[数据格式]

打印条码时,为HRI字符选择打印位置。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS H

1D

29

48

72

n

n

n

0 ≤ n ≤ 3, 48 ≤ n ≤ 51

n指定 HRI 打印位置:

n

打印位置

0, 48

1, 49

2, 50

3, 51

[ 默认值 ]

[相关指令]

不打印

条码上方

条码下方

条码上、下方都打印

• HRI 是对条码内容应用注释的字符。

• HRI 字符的字体是由 GS f 指令来指定。

n = 0

GS f, GS k

- 42 -

保密

编程手册

GS f n 选择HRI使用字体

[功能描述]

[数据格式]

打印条码时,为 HRI 字符选择一种字体

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS f

1D

29

66

n

n

102 n

n = 0, 1, 48, 49

用 n 来选择字体如下:

n

字体

标准ASCII字符 (12 × 24)

压缩ASCII字符 (9 × 17)

0,48

1,49

[ 默认值 ]

[相关指令]

• HRI 字符是对条码内容应用注释的字符。

• HRI 字符的打印位置由 GS H 命令指定。

n = 0

GS H, GS k

GS h n 选择条码高度

[功能描述]

[数据格式]

选择条码高度

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

GS h

1D

29

68

n

n

104 n

1 ≤ n ≤ 255

条码高度为 n 点。

n = 162

GS k

①GS k dk NUL②GS k m dn 打印条码

[功能描述]

[数据格式]

选择一种条码类型并打印条码

①ASCII

Hex

Hecimal

②ASCII

Hex

Hecimal

[取值范围]

[应用注释]

m

GS k

1D

29

1D

29

6B

d k NUL

d k 00

m n

m n

d1... dn

d1... dn

d1... dn

107 d k 0

6B

GS k

107 m n

①0 ≤ m ≤ 6 (k和d的取值取值范围是由条码类型来决定)

②65 ≤ m ≤ 73 (k和d的取值取值范围是由条码类型来决定)

m 用来选择条码类型,如下所示:

条码类型

0

字符个数

11 ≤ k ≤ 12

- 43 -

d

48 ≤ d ≤ 57

① UPC-A

2024年2月4日发(作者:褒俊驰)

收据打印机

BTP-R580

编程手册

保密

编程手册

修订记录

日期

2007-7-30

修订版本

V100 首次制定

功能描述 作者

徐伟伟、耿鹏

- 1 -

保密

编程手册

声明

如果需要使用本手册,请遵守此声明中的以下条款。

如果您不同意如下条款,请立即返还本手册。

本手册包含了山东新北洋信息技术股份有限公司(以下简称新北洋)或其经销商的私有机密信息,您必须要对本手册相关内容进行保密。如果本手册的使用者为商业用户或组织,您应当在必须知晓并具备保密义务的范围内公开,包括您的雇员,代理商和合作伙伴。在您终止与新北洋的合作关系的时候或新北洋提出要求的时候,您必须停止使用本手册,并把本手册立即返还新北洋或其经销商,或者销毁这些信息。

如果任何法庭、仲裁人、政府机关等相关机构要求您透漏本手册任何相关机密信息,您必须立刻通知新北洋,并且您同意在协商过程中给与新北洋适当的合作和协助。

新北洋享有公开保密信息的权利。新北洋不承担用户由于错误使用或错误依靠文档中相关信息带来的损失或损害责任。

本手册内容未经同意不得随意更改,本手册只用于产品的维护或与本手册内容相关的产品的服务。新北洋保留对本手册内容变更的权利。用户如果需要最新信息,可与新北洋或经销商联系。

未经新北洋的书面许可,本手册的任何章节不得以任何形式、通过任何手段进行复制或传送。

版权

本手册于2007年印制,版权属于新北洋。

中国印制。

商标

新北洋使用的注册商标是 和

新北洋信息技术股份有限公司

地址:山东省威海市高技区火炬路169号

定货电话: +86—631—5671111

技术支援: +86—631—5675888 800861368

传 真: +86—631—5680499 5675111

邮政编码: 264209

网 址:

E—mail : support@

- 2 -

保密

编程手册

目 录

1 概述 ................................................................................................................................................................................ 1

1.1

指令分类 ................................................................................................................................................................. 1

1.2

关键字说明 ............................................................................................................................................................. 1

1.3

指令格式说明 ......................................................................................................................................................... 1

2 指令详述 ........................................................................................................................................................................ 3

2.1

打印指令 ................................................................................................................................................................. 3

LF 打印并走纸一行 ................................................................................................................................................. 3

FF 打印并走纸 ......................................................................................................................................................... 3

CR 打印并回车 ......................................................................................................................................................... 3

ESC FF 页模式下打印 ............................................................................................................................................. 3

ESC J n 打印并走纸 ................................................................................................................................................. 4

ESC d n 打印并向前走纸n行 ................................................................................................................................... 4

2.2

位置指令 ................................................................................................................................................................. 5

HT 横向跳格 ............................................................................................................................................................. 5

ESC $ nL nH 设置横向绝对打印位置 ..................................................................................................................... 6

ESC k NUL 设置横向跳格位置 .................................................................................................................. 6

ESC T n 在页模式下选择打印区域方向 ................................................................................................................. 7

ESC W xL xH yL yH dxL dxH dyL dyH 页模式下设置打印区域 .......................................................................... 8

ESC nL nH 设置横向相对打印位置 .................................................................................................................... 10

ESC a n 选择字符对齐模式 ................................................................................................................................... 11

GS $ nL nH 页模式下设置纵向绝对位置 ............................................................................................................. 11

GS L nL nH 设置左边距 ........................................................................................................................................ 12

GS P x y 设置横向和纵向可移动单位 .................................................................................................................. 13

GS W nL nH 设置打印区域宽度 ........................................................................................................................... 14

GS nL nH 页模式下设置纵向相对位置 .............................................................................................................. 14

2.3

字符指令 ............................................................................................................................................................... 15

CAN 页模式下删除打印缓冲区内容 .................................................................................................................... 15

ESC SP n 设置字符右间距 .................................................................................................................................... 16

ESC ! n 选择打印模式 ........................................................................................................................................... 17

ESC % n 选择/取消用户自定义字符 .................................................................................................................... 18

ESC & y c1 c2 [d(y × x1)]...[d(y × xk)] 定义用户自定义字符...................................................... 19

ESC – n 选择/取消下划线模式 .............................................................................................................................. 21

ESC ? n 取消用户自定义字符 ............................................................................................................................... 21

ESC E n 选择/取消加粗模式 ................................................................................................................................. 22

ESC G n 选择/取消双重打印模式 ......................................................................................................................... 22

ESC M n 选择字体 ................................................................................................................................................. 23

ESC R n 选择国际字符集 .................................................................................................................................... 23

ESC V n 选择/取消顺时针旋转90度 ..................................................................................................................... 24

ESC t n 设置代码页 .............................................................................................................................................. 24

ESC { n 选择/取消倒置打印模式 .......................................................................................................................... 25

GS ! n 选择字符大小 .............................................................................................................................................. 26

- 3 -

保密

编程手册

GS B n 选择/取消黑白反显打印模式 ................................................................................................................... 27

FS ! n 设置汉字字符模式 ...................................................................................................................................... 27

FS & 选择汉字模式 ............................................................................................................................................... 28

FS – n 选择/取消汉字下划线模式 ......................................................................................................................... 28

FS . 取消汉字模式.................................................................................................................................................. 29

FS 2 c1 dk 定义用户自定义汉字 ............................................................................................................... 29

FS S n1 n2 设置汉字字符左右间距....................................................................................................................... 30

FS W n 选择/取消汉字倍高倍宽 ........................................................................................................................... 31

2.4

位图指令 ............................................................................................................................................................... 31

ESC * m nL dk 选择位图模式 ............................................................................................................... 31

GS # n 定义当前下载图号 ..................................................................................................................................... 33

GS * x d(x × y × 8) 定义下载位图 ............................................................................................................... 33

GS / m 打印下载位图 ............................................................................................................................................. 34

GS v 0 m xL xH yL dk 打印光栅位图 ...................................................................................................... 34

FS p n m 打印下载到FLASH中的位图 ................................................................................................................. 35

FS q n [xL xH yL [xL xH yL dk]n 定义Flash位图 ............................................................. 36

2.5

状态指令 ............................................................................................................................................................... 38

DLE EOT n实时状态传输 ....................................................................................................................................... 38

GS a n自动状态返回 ............................................................................................................................................... 40

GS r n 返回状态 ..................................................................................................................................................... 41

2.6

条码指令 ............................................................................................................................................................... 42

GS H n 选择HRI字符的打印位置 ......................................................................................................................... 42

GS f n 选择HRI使用字体 ....................................................................................................................................... 43

GS h n 选择条码高度 ............................................................................................................................................. 43

①GS k dk NUL②GS k m dn 打印条码 ............................................................................................ 43

GS p n设置PDF417条码尺寸 .................................................................................................................................. 46

GS q n设置PDF417条码纠错等级 .......................................................................................................................... 47

GS w n 设置条码宽度 ............................................................................................................................................ 47

2.7

其它指令 ............................................................................................................................................................... 48

DLE ENQ n 实时请求 ............................................................................................................................................ 48

DLE DC4 n m t 实时产生钱箱开启脉冲 ............................................................................................................... 48

ESC 2 设置默认行高 .............................................................................................................................................. 49

ESC 3 n 设置行高 ................................................................................................................................................... 49

ESC = n 选择打印机 .............................................................................................................................................. 49

ESC @ 初始化打印机 ............................................................................................................................................ 50

ESC L 选择页模式 ................................................................................................................................................. 50

ESC S 选择标准模式 ............................................................................................................................................. 51

ESC c 0 n 选择纸张类型 ........................................................................................................................................ 51

ESC c 3 n 选择纸传感器输出纸尽信号 ................................................................................................................ 51

ESC c 4 n 选择纸将尽传感器以终止打印 ............................................................................................................ 52

ESC c 5 n 允许/禁止按键 ...................................................................................................................................... 53

ESC p m t1 t2 产生钱箱控制脉冲 ......................................................................................................................... 53

GS FF 标记/标签纸定位 ........................................................................................................................................ 53

GS ( A pL pH n m 执行测试打印 ........................................................................................................................... 54

GS : 开始/结束宏定义 ............................................................................................................................................ 54

①GS V m ②GS V m n 选择切纸模式并切纸 ..................................................................................................... 55

- 4 -

保密

编程手册

GS ^ r t m 执行宏命令 ........................................................................................................................................... 55

3 指令编程流程指南 ...................................................................................................................................................... 56

附录 .................................................................................................................................................................................. 57

附录

A:128码 ............................................................................................................................................................ 57

附录

B:打印模式及其转换 ...................................................................................................................................... 62

附录C:指令索引表 ................................................................................................................................................... 65

- 5 -

保密

编程手册

1 概述

本手册按功能将打印机指令分为几类,并根据不同的指令分类对相关指令进行了详细的应用介绍,希望能帮助采用指令编程方式的用户快速掌握打印机的指令。

1.1 指令分类

本款收据打印机指令按照功能主要分为以下几类:

打印指令:打印机打印、走纸相关指令

位置指令:打印位置控制相关指令

字符指令:字符属性设置相关指令

位图指令:位图下载、打印相关指令,包括NV位图、RAM位图

状态指令:可用来查询打印机状态的相关指令

条码指令:条码打印、条码属性设置相关指令

其它指令:其它一些指令,包括外设控制相关指令、宏定义、初始化等指令

指令说明请相关指令相关指令的具体功能描述。

1.2 关键字说明

实时指令:

页模式:

标准模式:

HRI字符:

NV存储器:

RAM:

DPI:

基线:

不经过指令排队而立即响应的打印机指令。

所有的打印内容存储在存储器中(假想“页面”),打印机不执行任何打印操作,直到接收到打印指令(FF)或页模式下打印指令(ESC FF)的处理模式。

标准模式即行模式,为打印机的缺省模式,只要打印机行缓冲区满(即内容排满一行)或者接收到打印指令(例如LF),打印机就打印并进纸。

条码应用注释字符。HRI:Human Readable Interface

非易失性存储器,其特点是掉电数据不丢失。NV: Non-volatile

随机存取存储器:RAM:Random Access Memory

1英寸(1英寸约等于25.4mm)的打印点数,用于表示打印机分辨率。如203DPI表示每英寸可打印203点。DPI:Dot Per Inch

存储在打印缓冲区的字符数据的标准位置,下图显示出了标准模式和页模式下普通字符位置

打印缓冲区: 打印缓冲区是一个用于存储所需打印的图形数据的缓存。

1.3 指令格式说明

[功能描述]――描述指令的作用功能

[数据格式]――说明指令数据格式,如ASCII值、十六进制值及十进制值等

[取值范围]――说明指令中供使用的参数选取取值范围

[应用注释]――说明指令的主要性能特点及指令应用时的注意事项

[ 默认值 ]――说明开机初始化后指令中引用参数的初始数值

- 1 -

保密

编程手册

[相关指令]――与当前指令相关的其它指令说明

[编程示例]——当前或相关指令使用的示例。

编程示例中所有的指令样例数据均采用十六进制,所有常规字体字符均为数据。指令样例中数据不再做应用注释,如 42 43 是数据。加粗下划线字体字符为指令,如1B 40。编程示例中所有指令后括号内的内容为应用注释此条指令的含义,括号和括号内的内容并不是需要传送给打印机的指令。

- 2 -

保密

编程手册

2 指令详述

2.1 打印指令

LF 打印并走纸一行

[功能描述]

[数据格式]

打印缓冲区内数据并走纸一行。

ASCII

Hex

Decimal

[应用注释]

[相关指令]

LF

0A

10

该指令将当前位置置于行首。

ESC 2, ESC 3

FF 打印并走纸

[功能描述]

[数据格式]

页模式下打印缓冲区的所有内容并返回标准模式

ASCII

Hex

Decimal

[应用注释]

FF

0C

12

• 本命令只在页模式下有效。

• 打印后清除缓冲区的内容。

• 打印机不执行切纸动作。

• 该指令将当前位置置于行首。

[相关指令] ESC FF, ESC L, ESC S

CR 打印并回车

[功能描述]

[数据格式]

当该指令被允许时,等同于 LF 指令;当被禁止时,该指令被忽略

ASCII

Hex

Decimal

[应用注释]

[相关指令]

CR

0D

13

• 设置打印位置为行首。

• 该指令是否有效由打印机配置决定。

LF

ESC FF 页模式下打印

[功能描述]

[数据格式]

页模式下,打印缓冲区的所有所有内容。

ASCII

Hex

Decimal

ESC FF

1B

27

0C

12

- 3 -

保密

编程手册

[应用注释]

[相关指令]

• 该指令只在页模式下有效。

• 打印后不清除打印缓冲区的内容、 ESC T 和 ESC W设置和字符的位置等。

FF, ESC L, ESC S

ESC J n 打印并走纸

[功能描述]

[数据格式]

打印缓冲区数据并走纸 [ n × 纵向或横向移动单位] 英寸。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

• 打印结束后,将当前打印位置置于行首。

• 走纸距离不受 ESC 2 或 ESC 3指令设置的影响。

• 横向和纵向移动单位由GS P设定。

• 标准模式下,使用纵向移动单位。

• 在页模式下,根据打印区域的方向和打印起始位置来选择使用纵向移动单位或横向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用纵向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用横向移动单位;

• 最大走纸距离是1016 mm (约40英寸). 如果超出这个距离,取最大距离。

[相关指令]

[编程示例]

GS P

1B 40(初始化打印机)

1D 50 CB CB(设置打印机的分辨率为203×203)

ESC J

1B

27

4A

74

n

n

n

41 41 41 41 41 41 41(需要打印的数据)

1B 4A 50(打印并走纸80/203英寸)

42 42 42 42 42 42 42 0A(需要打印的数据)

实际执行结果:

ESC d n 打印并向前走纸n行

[功能描述]

[数据格式]

打印缓冲区里的数据并向前走纸n行(字符行)。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

• 该指令将打印机的打印起始位置设置在行首。

• 该指令不影响由ESC 2 或 ESC 3设置的行间距。

- 4 -

ESC d

1B

27

64

n

n

100 n

保密

编程手册

• 最大走纸距离为1016mm,当所设的值大于1016mm时,取最大值。

[相关指令]

[编程示例]

ESC 2, ESC 3

1B 40(初始化打印机)

41 41 41 41 41 41 41(需要打印的数据)

1B 64 02(打印并走纸2字符行,2/6英寸)

42 42 42 42 42 42 42 0A(需要打印的数据)

实际执行结果:

2.2 位置指令

HT 横向跳格

[功能描述]

[数据格式]

将当前位置移动到下一个跳格位置。

ASCII

Hex

Decimal

[应用注释]

HT

09

9

• 如果下一个跳格位置没有设置,该指令被忽略。

• 如果下一个横向跳格位置超越打印区域,将当前位置设置为 [打印宽度 + 1]。

• 水平跳格位置由指令 ESC D 来设置。

• 如果接收到此命令时当前位置在 [打印宽度+ 1],打印机执行当前行缓冲区满

• 动作并且将打印位置移到下一行的起始位置。

• 默认值跳格位置是每8个标准ASCII字符(12×24)字符跳一格。

• 当前行缓冲区满时,打印机执行下列动作:

标准模式下,打印机打印当前行内容并将打印位置置于下一行的起始位置。

页模式下,打印机进行换行并将打印位置置于下一行的起始位置。

[相关指令]

[编程示例]

ESC D

0A(将打印位置置于行首)

1B 40 (初始化打印机)

1B 53(进入标准模式)

33 33 33 33 33 33

1B 44 08 10 20 00(设置横向跳格位置)

09(将打印位置移动到下一个跳格位置)

33 33 33 33

09(同上应用注释)

33 33 33 33

09(同上应用注释)

33 33 33 33

- 5 -

保密

编程手册

0A(打印)

33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33

33

0A(打印)

实际执行结果:

ESC $ nL nH 设置横向绝对打印位置

[功能描述]

[数据格式]

将当前位置设置到距离行首(nL + nH×256)× (横向或纵向移动单位)处

ASCII

Hex

Decimal

[取值范围]

[应用注释]

ESC $

1B

27

24

36

nL nH

nL nH

nL nH

0≤nL ≤ 255

0 ≤nH≤255

• 如果设置位置在指定打印区域外,该命令被忽略。

• 横向和纵向移动单位由GS P 设置。

• 标准模式下使用横向移动单位。

• 在页模式下,根据打印区域的方向和打印起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向移动单位;

[相关指令]

[编程示例]

ESC , GS $, GS , GS P

参见 ESC W

ESC k NUL 设置横向跳格位置

[功能描述] • 设置横向跳格位置。

• 由行首起第n列设置一个跳格位置。

• 共有k个跳格位置。

[数据格式] ASCII

Hex

Decimal

[取值范围]

0 ≤ k ≤ 32

- 6 -

ESC D

1B

27

44

68

n1 nk NUL

n1 nk 00

n1 nk 0

1 ≤ n ≤ 255

保密

编程手册

[应用注释] • 横向跳格位置由下式计算:

字符宽度 × n,字符宽度包括右间距,如果字符为倍宽,跳格距离也随

• 该指令取消以前的跳格位置设置。

• 当n = 8时,当前位置为第九列。

• 最多设置32个 ( k = 32) 跳格位置,超过32的跳格位置数据被作为普通数据处理。

• 跳格位置按升序排列 ,结束符为NUL。

• 当[ n] k 小于或等于前一个[ n] k -1值时,跳格设置结束,后面的数据作为普通数据处理。

• ESC D NUL 取消所有的跳格位置设置。

• 改变字符宽度,先前指定的跳格位置并不发生变化。

• 字符宽度在标准模式和页模式下是独立的。

之加倍。

[ 默认值 ]

[相关指令]

[编程示例]

默认跳格设置是每8个标准ASCII字符(12 × 24)一个跳格位置。

HT

参见 HT

ESC T n 在页模式下选择打印区域方向

[功能描述]

[数据格式]

在页模式下选择打印区域的方向和起始位置。

ASCII

Hex

Decimal

[取值范围]

n

0,48

1,49

2,50

3,51

[应用注释]

打印方向

由左到右

由下到上

由右到左

由上到下

起始位置

左上(图中A)

左下(图中B)

右下(图中C)

右上(图中D)

ESC T

1B

27

54

84

n

n

n

0 ≤ n ≤ 3 48 ≤ n ≤ 51

n 指定打印区域的方向和起始位置:

• 如果当前模式为标准模式,只设置内部标志位,不影响打印。

• 该指令可以设置打印内容在打印区域中的起始位置。

• 根据区域打印起始位置的不同,横向或纵向移动单位的使用也不相同:

①如果打印起始位置为打印区域的左上角或右下角,那么打印内容排列方 向与打印进纸方向垂直。

下列命令使用横向移动单位:ESC SP, ESC $, ESC

下列命令使用纵向移动单位:ESC 3, ESC J, GS $, GS

②如果打印机起始位置为打印区域的左下角或右上角,则打印内容排列方 向与打印机进纸方向相同。

下列命令使用横向移动单位:ESC 3, ESC J, GS $, GS

下列命令使用纵向移动单位:ESC SP, ESC $, ESC

- 7 -

保密

编程手册

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC $, ESC L, ESC W, ESC , GS $, GS P, GS

1B 4C(进入页模式)

1D 50 CB CB(设置打印机分辨率)

1B 57 20 00 00 00 40 02 90 02 (设置页模式打印区域)

1B 54 00(在页模式下选择打印区域方向)

30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 0A(换行)

1B 54 01(在页模式下选择打印区域方向)

31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 31 0A(换行)

1B 54 02(在页模式下选择打印区域方向)

32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 32 0A(换行)

1B 54 03 (在页模式下选择打印区域方向)

33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 33 0A(打印)

50 72 69 6E 74 20 45 6E 64

0C(打印)

实际执行结果:

ESC W xL xH yL yH dxL dxH dyL dyH 页模式下设置打印区域

[功能描述] • 按如下方法设置区域横向起始位置、纵向起始位置、区域宽度和高度:

横向起始位置:x0 = [( xL + xH × 256) × 横向移动单位]

纵向起始位置:y0 = [( yL + yH × 256) × 纵向移动单位]

打印区域宽度:dx = [ (dxL + dxH × 256) × 横向移动单位]

打印区域高度:dy = [ (dyL + dyH × 256) × 纵向移动单位]

[数据格式] ASCII ESC W xL xH yL yH dxL dxH dyL dyH

- 8 -

保密

编程手册

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

[编程示例]

Hex 1B 57 xL xH yL yH dxL dxH dyL dyH

Decimal 27 87 xL xH yL yH dxL dxH dyL dyH

0 ≤ xL, xH, yL, yH, dxL, dxH, dyL, dyH ≤ 255 (除过 dxL= dxH=0或

dyL=dyH=0)

• 该指令在标准模式下只设置内部标志位,不影响打印。

• 如果横向起始位置或纵向起始位置超出打印区域,打印机停止处理该指令,其后的数据按普通数据处理。

• 如果打印区域的宽度或高度被设置为0,打印机停止处理该指令,其后的数 据按普通数据处理。

• 该指令与ESC T指令一起确定当前打印位置。

• 如果横向起始位置 + 打印区域宽度的值超出可打印区域,则打印区域的宽度自动调整为横向可打印宽度 - 横向起始位置。

• 如果纵向起始位置 + 打印区域高度的值超出可打印区域,则打印区域的高度自动调整为纵向可打印高度 - 纵向起始位置。

• 横向和纵向的移动单位由GS P指定,改变横向和纵向移动单位不会改变当前 的打印区域。

• 用横向移动单位设置横向起始位置和区域宽度,用纵向移动单位设置纵向起始位置和区域高度。

• 假设横向起始位置、纵向起始位置、打印区域宽度和打印区域高度为 X,Y,Dx,Dy,打印区域的设置如下图所示:

与打印机配置有关

CAN, ESC L, ESC T, GS P

0A

1D 50 CB CB(设置打印机分辨率为203×203)

1B 4C (进入页模式)

1B 57 20 00 00 00 40 01 90 01 (设置页模式打印区域)

1B 24 00 00(设置横向绝对起始位置为起始点)

41

1B 24 32 00(设置横向绝对起始位置为50/203英寸)

42

1B 24 64 00(设置横向绝对起始位置为100/203英寸)

- 9 -

保密

编程手册

43

0A(换行)

1B 24 00 00(设置横向绝对起始位置为起始点)

41

1B 5C 32 00(设置横向相对绝对起始位置为50/203英寸)

42

1B 5C 64 00(设置横向相对起始位置为100/203英寸)

43

0A(换行)

0C(页模式打印)

实际执行结果:

ESC nL nH 设置横向相对打印位置

[功能描述]

[数据格式]

以横向或纵向移动单位设置横向相对位移。

• 该指令将打印位置设置到距当前位置[( nL + nH × 256) ×横向或纵向移动单位]处。

ASCII

Hex

Decimal

[取值范围]

[应用注释]

ESC

1B

27

5C

92

nL nH

nL nH

nL nH

0 ≤ nl ≤ 255 0 ≤ nH ≤ 255

• 超出可打印区域的设置将被忽略。

• 当打印位置向右移动时:nL+ nH × 256 = N。

• 当打印位置向左移动时采用补码:nL+ nH × 256 = 65536 – N。

• 打印起始位置从当前位置移动到[ N × 横向移动单位或者纵向移动单位]。

• 横向和纵向移动单位由GS P指令设置。

• 在标准模式下,使用横向移动单位。

• 在页模式下,根据打印区域的方向和起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向

动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向

动单位;

移移[相关指令] ESC $, GS P

- 10 -

保密

编程手册

ESC a n 选择字符对齐模式

[功能描述]

[数据格式]

使所有的打印数据按某一指定对齐方式排列。

ASCII

Hex

Decimal

[取值范围]

ESC a

1B

27

61

97

n

n

n

0 ≤ n ≤ 2, 48 ≤ n ≤ 50

n 的取值与对齐方式对应关系如下:

n

对齐方式

左对齐

中间对齐

右对齐

0,48

1, 49

2, 50

[应用注释] • 该指令只在标准模式下的行首有效。

• 该指令在页模式下只改变内部标志位。

• 该指令根据HT, ESC $ 或 ESC 指令来调整空白区域。

[ 默认值 ]

[编程示例]

实际执行结果:

n = 0

0A(进入行模式)

1B 40(初始化)

1B 61 00(设置字符左对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

1B 61 01(设置字符中对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

1B 61 02(设置字符右对齐)

41 42 43 0A

41 42 43 44 0A

41 42 43 44 45 0A

GS $ nL nH 页模式下设置纵向绝对位置

[功能描述]

[数据格式]

这条指令设置也模式下的纵向绝对位置。

ASCII GS $ nL nH

- 11 -

保密

编程手册

Hex

Decimal

[取值范围]

[应用注释]

1D

29

24

36

nL nH

nL nH

0 ≤ nL ≤ 255, 0 ≤ nH ≤ 255

• 这条指令只有在页模式下有效。

• 如果 [( nL + nH × 256) × (纵向或横向移动单位)] 超出设定的打印区域,这条命令被忽略。

• 执行该指令后,横向位置不改变。

• 相关指令位置由 ESC T 指令设置。

• 根据ESC T 指令设置的打印区域方向和起始位置的不同,该指令使打印机进

如下操作:

① 如果打印起始位置为左上角或者右下角,该指令在与走纸方向平行的方向上设置绝对位置。

② 如果打印起始位置为右上角或者左下角,该指令在与走纸方向垂直的方向上设置绝对位置。

• 横向和纵向移动单位是由 GS P 指令设置的。

行 [相关指令]

[编程示例]

ESC $, ESC T, ESC W, ESC , GS P, GS

参见 ESC W

GS L nL nH 设置左边距

[功能描述]

[数据格式]

左边距设置为 [( nL + nH × 256) × 横向移动单位)] 英寸。

ASCII

Hex

Decimal

[取值范围]

[应用注释] • 在标准模式下,该命令只有在行首才有效。

• 在页模式下,此命令无效,打印机将该命令当作作普通字符处理。

• 此命令不影响在页模式下的打印。

• 如果设置超出了最大可用打印宽度,则取最大可用打印宽度

• 横向和纵向移动单位是由 GS P命令设置的,改变纵向和横向移动单位不影

响当前的左边距。

[ 默认值 ]

[相关指令]

[编程示例]

nL = 0, nH = 0

GS P, GS W

0A(打印位置设置为行首)

1B 40(初始化)

- 12 -

GS L

1D

29

4C

76

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

保密

编程手册

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

1D 4C 30 00(设置左边距为48/203英寸)

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

1D 57 C8 00(设置打印宽度为200/203英寸)

30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36 37 38 39 30 31 32 33 34 35 36

37 38 39 0A

实际执行结果:

GS P x y 设置横向和纵向可移动单位

[功能描述]

[数据格式]

分别将横向移动单位近似设置成25.4/ x mm( 1/ x 英寸)纵向移动单位设置 成25.4/

y mm(1/ y 英寸)

ASCII

Hex

Decimal

[取值范围]

[应用注释]

GS P

1D

29

50

80

x

x

x

y

y

y

0 ≤ x ≤ 255

0 ≤ y ≤255

• 当 x 和 y 为0时, x 和 y被设置成默认值。

• 垂直于进纸方向为横向,进纸方向为纵向。

• 在标准模式下,下列命令用x 或者 y,即使字符旋转(倒置或者顺时针旋转90°也不改变;

①② 用 x 的命令: ESC SP, ESC $, ESC , FS S, GS L, GS W

用 y 的命令:ESC 3, ESC J, GS V

• 页模式下,用 x 或者 y 要根据区域方向和打印起始位置来定:

① 当打印起始位置用ESC T命令设置成左上角(打印方向从左到右)或者右下角(打印方向从右到左)时:

用 x 的命令: ESC SP, ESC $, ESC W, ESC , FS S

用 y 的命令: ESC 3, ESC J, ESC W, GS $, GS , GS V

② 当打印起始位置用ESC T命令设置成右上角(打印方向从上到下)或者左下角(打印方向从下到上)时:

用 x 的命令: ESC 3, ESC J, ESC W, GS $, GS

用 y 的命令: ESC SP, ESC $, ESC W, ESC ,FS S, GS V

- 13 -

保密

编程手册

• 此命令不影响以前前设定的其他设置。

• 最小移动单位的是由该命令和其它命令综合作用的结果。

• 一英寸等于25.4mm.。

[ 默认值 ]

[相关指令]

x = 203, y =203,此时一个移动单位就是一个打印点。横向距离大约为1/8mm,纵向距离大约为1/8mm。

ESC SP, ESC $, ESC 3, ESC J, ESC W, ESC , GS $, GS L, GS V, GS W, GS

GS W nL nH 设置打印区域宽度

[功能描述]

[数据格式]

设置打印区域宽度。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS W

1D

29

57

87

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

• 将打印区域宽度设置为[( nL + nH × 256) × 横向移动单位)]英寸。

• 在标准模式下,此命令仅在行首有效。

• 在页模式下此命令无效,命令数据被当成普通字符处理。

• 此命令不影响页模式下的打印。

• 如果[左边距 + 打印区宽度]超出可打印区域,则打印区域宽度为可打印区域宽度减去左边距。

• 横向和纵向移动单位由GS P命令设置。改变横向和纵向移动单位不影响当前左边距和区域宽度。

•计算打印区宽度使用横向移动单位。

[ 默认值 ]

[相关指令]

[编程示例]

nL = 76, nH = 2

GS L, GS P

参见 GS L

GS nL nH 页模式下设置纵向相对位置

[功能描述]

[数据格式]

页模式下,以当前点为相关指令点设置纵向移动距离

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS

1D

29

5C

92

nL nH

nL nH

nL nH

0 ≤ nL ≤ 255

0 ≤ nH ≤ 255

• 这条命令设置相对于当前点的纵向移动距离为[( nL + nH × 256) × 纵向或者横向移动- 14 -

保密

编程手册

单位] 英寸。

• 此命令只在页模式下有效,在其它模式下被忽略。

• 当打印位置向下移动时:nL + nH × 256 = N

当打印位置向上移动时,用补码计算:nL + nH × 256 = 65536 - N

• 任何超出打印区域的设置被忽略。

• 此命令根据由ESC T设置的打印区域方向来确定使用移动单位:

当打印起始位置设置成左上角(打印方向从左到右)或者右下角(打印方向从右到左),使用纵向移动单位。

当打印起始位置设置成右上角(打印方向从上到下)或者左下角(打印方向从下到上),使用横向移动单位。

• 横向和纵向移动单位由GS P命令设置。

• GS P 命令能改变横向和纵向移动单位。

[相关指令]

ESC $, ESC T, ESC W, ESC , GS $, GS P

2.3 字符指令

CAN 页模式下删除打印缓冲区内容

[功能描述]

[数据格式]

页模式下删除当前区域下的内容

ASCII

Hex

Hecimal

[应用注释]

[相关指令]

[编程示例]

CAN

18

24

• 该指令只在页模式下有效。

• 如果先前设定区域与当前区域有重叠部分,重叠部分也被删除。

ESC L, ESC W

1B 40(打印机初始化)

1D 50 CB CB(设置打印机分辨率为203×203)

1B 4C (进入页模式)

1B 57 00 00 00 00 20 02 E8 00(设置页模式下打印宽度、高度)

31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70

71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66

67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37

38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77

78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D

6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64

65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 7A 31 32 33 34

35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74

75 76 77 78 79 7A 31 32 33 34 35 36 37 38 39 30 61 62 63 64 65 64 66 67 68 69 6A

6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79 31 32 33 34 35 36 37 38 39 30 61 62

63 64 65 64 66 67 68 69 6A 6B 6C 6D 6E 6F 70 71 72 73 74 75 76 77 78 79

- 15 -

保密

编程手册

1B 57 44 00 10 00 7C 01 AA 00(设置需要取消的页面大小)

18(删除页缓冲区的数据)

1B 24 64 00(设置横向绝对打印位置为100点)

1D 24 60 00 (设置纵向绝对打印位置为96点)

43 61 6E 63 65 6C 20 74 68 65 20 64 61 74 61 20

0A 0C(打印)

实际执行结果:

ESC SP n 设置字符右间距

[功能描述]

[数据格式]

设置字符右间距

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

0 ≤ n≤255

• 设置字符的右间距为[n×横向移动单位或纵向移动单位]英寸。

• 当字符放大时,间距随之放大相同的倍数。

• 此指令设置的值在页模式和标准模式下是相互独立的。

• 横向或纵向移动单位由GS P指定。改变横向或纵向移动单位不改变当前右间距。

• 标准模式下,使用横向移动单位。

• 在页模式下,根据区域的方向和起始位置来选择使用横向移动单位或纵向移动单位,其选择方式如下:

① 当打印起始位置由ESC T设置为打印区域的左上角或右下角时,使用横向移动单位;

② 当打印起始位置由ESC T设置为打印区域的左下角或右上角时,使用纵向移动单位;

• 最大右间距是 255/203 英寸。 任何超过这个值的设置都自动转换为最大右间距。

[ 默认值 ]

[编程示例]

n = 0

1B 40

1B 20 00(设置字符间距为0)

41 41 41 41 41 0A

1B 20 06(设置字符间距为6/203英寸)

- 16 -

ESC SP n

1B

27

20

32

n

n

保密

编程手册

42 42 42 42 42 0A

1B 20 0C(设置字符间距为12/203英寸)

43 43 43 43 43 0A

实际执行结果:

ESC ! n 选择打印模式

[功能描述]

[数据格式]

选择打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

1/0 HEX Decimal

功能

ESC !

1B

27

21

33

n

n

n

0 ≤ n ≤ 255

• 根据n的值设置字符打印模式

0

1,2

3

4

5

6

7

0

1

00

01

0

1

标准ASCII字体 (12 × 24)

压缩ASCII字体 (9 × 17)

未定义

取消加粗模式

选择加粗模式

取消倍高模式

选择倍高模式

取消倍宽模式

选择倍宽模式

0

1

0

1

0

1

00

08

00

10

00

20

0

8

0

16

0

32

未定义

取消下划线模式

选择下划线模式

0

1

00

80

0

128

• 当倍宽和倍高模式同时选择时,字符同时在横向和纵向放大两倍。

• 除了HT 设置的空格和顺时针旋转90° 的字符,其余任何字符都可以加下划线。

• 下划线度由 ESC - 确定,与字符无关。

• 当一行中部分字符为倍高或更高,所有字符以底端对齐。

• ESC E也能选择或取消加粗模式,最后被执行的指令有效。

• ESC – 也能选择或取消下划线模式,最后被执行的指令有效。

• GS ! 也能设置字符大小,最后被执行的指令有效。

[ 默认值 ] n = 0

- 17 -

保密

编程手册

[相关指令]

[编程示例]

实际执行结果:

ESC -, ESC E, GS !

1B 40(初始化打印机)

1B 21 00(选择打印模式为正常打印)

48

1B 21 01(选择压缩字体打印)

48

1B 21 08(选择加粗模式)

48

1B 21 10(选择倍高模式)

48

1B 21 20(选择倍宽模式)

48

1B 21 80(选择下划线模式)

48

1B 21 B9(选择压缩字体、加粗、倍高、倍宽、下划线模式)

48 0A

ESC % n 选择/取消用户自定义字符

[功能描述]

[数据格式]

选择或取消用户自定义字符。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

0 ≤ n ≤255

• 当n的最低位为0时,不使用用户自定义字符。

• 当n的最低位为1时,使用用户自定义字符。

• 当取消使用用户自定义字符的时候,自动使用内部字库。

• n 只有最低位有效。

n = 0

ESC &, ESC ?

- 18 -

ESC %

1B

27

25

37

n

n

n

保密

编程手册

ESC & y c1 c2 [d(y × x1)]...[d(y × xk)] 定义用户自定义字符

[功能描述]

[数据格式]

定义用户自定义字符

ASCII

Hex

Hecimal

[取值范围] y = 3

32 ≤ c1 ≤ c2 ≤ 127

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是下载字符的数据。各点的数据从左边开始。

• 自定义字符的大小是 (y

× x) 字节。

• 数据的各个位为1表示大打印这个点,为0表示不打印。

• 当下列情况,用户自定义字符被清除:

①ESC ? 被执行。

②打印机电源关闭。

[ 默认值 ]

[相关指令]

[ 示例 ]

• 当选择标准ASCII字体 (12

× 24) 时

- 19 -

ESC &

1B

27

26

38

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

y c1 c2 [d(y

× x1)]...[d(y

× xk)]

内部字库设置

ESC %, ESC ?

保密

编程手册

• 当选择压缩ASCII字体时 (9

×

17)

- 20 -

保密

编程手册

ESC – n 选择/取消下划线模式

[功能描述]

[数据格式]

选择/取消下划线模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC -

1B

27

2D

45

n

n

n

0 ≤ n ≤2, 48 ≤n ≤ 50

根据n的值选择或取消下划线模式:

n

功能

取消下划线模式

选择下划线模式(1点宽)

选择下划线模式(2点宽)

0, 48

1, 49

2, 50

• 下划线可加在所有字符下(包括右间距),但不包括HT设置的空格。

• 下划线不能作用在顺时针旋转90° 和反显的字符下。

• 当取消下划线模式时,后面的字符不加下划线,下划线的宽度不改变。默认 宽度是一点宽。

• 改变字符大小不影响当前下划线宽度。

• 下划线选择取消也可以由 ESC !来设置。最后执行的指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC !

1B 40

1B 2D 02(两点下划线宽线)

41 41 41 41 41 41 0A

1B 2D 01(一点下划线宽)

42 42 42 42 42 42 0A

1B 2D 00(无下划)

43 43 43 43 43 43 0A

实际执行结果:

ESC ? n 取消用户自定义字符

[功能描述]

[数据格式]

取消用户自定义字符。

ASCII

Hex

ESC ?

1B 3F

n

n

- 21 -

保密

编程手册

Hecimal

[取值范围]

[应用注释]

[相关指令]

27 63 n

32 ≤n ≤127

• 取消用户自定义字符中代码为n的字符。取消后,此字符使用内部字库。

• 如果自定义字符中没有该字符,该指令被忽略。

ESC &, ESC %

ESC E n 选择/取消加粗模式

[功能描述]

[数据格式]

选择/取消加粗模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

[编程示例]

ESC E

1B

27

45

69

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消加粗模式。

• 当n的最低位为1时,选择加粗模式。

• n只有最低位有效。

• ESC ! 样可以选择/取消加粗模式,最后接收的命令有效。

n = 0

ESC !

1B 40

1B 45 01(选择字符加粗)

41 41 41 41 41 0A

1B 45 00(选择字符不加粗)

42 42 42 42 42 0A

实际执行结果:

ESC G n 选择/取消双重打印模式

[功能描述]

[数据格式]

选择/取消双重打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC G

1B

27

47

71

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消双重打印模式。

• 当n的最低位为1时,选择双重打印模式。

• n只有最低位有效。

• 该指令与加粗打印效果相同。

- 22 -

保密

编程手册

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC E

参见 ESC E

ESC M n 选择字体

[功能描述]

[数据格式]

选择字体

ASCII

Hex

Hecimal

[取值范围]

n

ESC M

1B

27

4D

77

n

n

n

功能

选择标准ASCII字体 (12 × 24)

选择压缩ASCII字体 (9 × 17)

n = 0, 1, 2,3,48, 49,50,51

0,48

1,49

2,50

3,51

选择用户自定义字符

选择汉字(24 × 24)

[编程示例]

1B 40

1B 4D 01(选择压缩字体)

41 41 41 42 42 42 30 30 30 31 31 31 0A

1B 4D 00(选择标准字体)

41 41 41 42 42 42 30 30 30 31 31 31 0A

实际执行结果:

ESC R n 选择国际字符集

[功能描述]

[数据格式]

选择国际字符集

ASCII ESC R n

Hex 1B 52 n

Decimal 27 82 n

0 ≤ n ≤ 12

选择n所对应的国际字符集,如下表:

n

0

1

2

3

4

5

字符集

美国(U.S.A)

法国(France)

德国(Germany)

英国(U.K)

丹麦 I(Denmark I)

瑞典(Sweden)

- 23 -

[取值范围]

[应用注释]

保密

编程手册

6

意大利(Italy)

7

8

9

10

11

12

13

西班牙 I(Spain I)

日本(Japan)

挪威(Norway)

丹麦 II (Denmark II)

西班牙 II Spain II

拉丁美洲(Latin America)

韩国(Korea)

[默认值]

n = 0

ESC V n 选择/取消顺时针旋转90度

[功能描述]

[数据格式]

选择/取消顺时针旋转90度

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC V

1B

27

56

86

n

n

n

0 ≤ n ≤ 1, 48 ≤ n ≤ 49

n 的取值如下:

n

0,48

1,49

功能

取消顺时针旋转90度模式

选择顺时针旋转90度模式

• 该指令只在标准模式下有效。

• 当选择下划线模式时,下划线不能顺时针旋转90度。

• 顺时针旋转90度模式下的倍高和倍宽与正常模式下的方向相反。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

ESC !, ESC

1B 40

1B 56 01(选择顺时针90度模式)

41 41 41 42 42 42 0A

1B 56 00(取消顺时针90度模式)

41 41 41 42 42 42 0A

实际执行结果:

ESC t n 设置代码页

[功能描述]

[数据格式]

设置代码页

ASCII

Hex

ESC t

1B 74

n

n

- 24 -

保密

编程手册

Hecimal

[取值范围]

27

n

0

1

2

3

4

5

16

17

18

19

116 n

代码页

PC437

Katakana

PC850

PC860

PC863

PC865

WPC1252

PC866

PC852

PC858

0≤n≤5, 16≤n≤19

[应用注释]

[ 默认值 ]

中文字库该指令无效。

缺省为PC437码

ESC { n 选择/取消倒置打印模式

[功能描述]

[数据格式]

选择/取消倒置打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

ESC {

1B

27

7B

n

n

123 n

0 ≤ n ≤ 255

• 当n的最低位为0时,取消倒置打印模式。

• 当n的最低位为1时,选择倒置打印模式。

• 只有n的最低位有效;

• 该指令只在标准模式下的行首有效。

• 该指令在页模式下,只改变内部标志位。

• 该指令对页模式打印无影响。

• 在倒置打印模式下,打印机先将要打印的行旋转180度然后打印。

[ 默认值 ]

[编程示例]

实际执行结果:

n = 0

1B 40

1B 7B 01(选择倒置打印模式)

41 42 43 44 45 46 0A

30 31 32 33 34 35 0A

1B 7B 00(取消倒置打印模式)

41 42 43 44 45 46 0A

30 31 32 33 34 35 0A

- 25 -

保密

编程手册

GS ! n 选择字符大小

[功能描述]

[数据格式]

选择字符大小

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS !

1D

29

21

33

n

n

n

0 ≤ n ≤ 255

(1 ≤ 纵向放大倍数 ≤ 6,1 ≤ 横向放达倍数 ≤ 6)

用 0 到 2 位选择字符高度,4 到 7 位选择字符宽度

如下所示:

0/1 Hex Decimal

功能

0-3

4-7

字符高度选择, 见表2

字符宽度选择, 见表1

表 1

字符宽度选择 字符高度选择

Hex Decimal Hex Decimal

横向放大

1(正常)

2(2倍宽)

3

4

5

6

表 2

纵向放大

1 (正常)

2 (2倍高)

3

4

5

6

00

10

20

30

40

50

0

16

32

48

64

80

00

01

02

03

04

05

0

1

2

3

4

5

• 这条指令对所有字符(ASCII字符和汉字)都有效,但是HRI字符除外。

• 如果 n 超出了规定的取值范围,则这条指令被忽略。

• 在标准模式下,纵向是进纸方向,横向是垂直于进纸的方向。但是当字符顺时针旋转90°时,横向和纵向颠倒。

• 页模式下,横向和纵向取决于区域的方向。

• 同一行字符的放大倍数不同时,所有的字符以底线对齐。

• ESC ! 指令也可以选择或者取消字符倍宽和倍高,最后接收的指令有效。

[ 默认值 ] n = 0

- 26 -

保密

编程手册

[相关指令]

[编程示例]

ESC !

参见 ESC!

GS B n 选择/取消黑白反显打印模式

[功能描述]

[数据格式]

选择 / 取消黑白反显打印模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS B

1D

29

42

66

n

n

n

0 ≤ n ≤ 255

• 当 n 的最低位为 0时,取消反显打印。

• 当 n 的最低位为 1时,选择反显打印。

• n只有最低位有效。

• 这条命令对所有字符(除过HRI字符)有效。

• 选择反显打印后,由ESC SP指令设置的字符间距也反显。

• 这条指令不影响位图、自定义位图、条码、HRI字符以及由HT, ESC $, and ESC 设定的空白。

• 这条指令不影响行与行之间的空白。

• 黑白反显打印模式比下划线模式优先级高。在黑白反显打印模式选择时,下划线模式不起作用,取消黑白反显模式后,设定下划线模式才起作用。

[ 默认值 ]

[编程示例]

n = 0

1B 40

1D 42 01(选择黑白反显打印)

41 41 41 42 42 42 0A

1D 42 00(取消黑白反显打印)

41 41 41 42 42 42 0A

实际执行结果:

FS ! n 设置汉字字符模式

[功能描述]

[数据格式]

设置汉字字符模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

0 ≤n ≤ 255

用 n 值设置汉字的打印模式如下:

0/1 Hex Decimal

- 27 -

功能

FS

1C

28

!

21

33

n

n

n

保密

编程手册

0, 1

2

3

4-6

7

0

1

0

1

0

1

未定义

取消倍宽

选择倍宽

取消倍高

选择倍高

00

04

00

08

0

4

0

8

未定义

取消下划线

选择下划线

00

80

0

128

• 当倍宽与倍高度模式同时被设定时,字符横向和纵向同时被放大两倍(包括左右间距)。

• 打印机能对所有字符加下划线,包括左右间距。但不能对由于HT指令(横向跳格)引起的空格进行加划线,也不对顺时针旋转90度的字符加下划线。

• 下划线线宽由FS -设定,与字符大小无关。

• 当一行中字符高度不同时,该行中的所有字符以底线对齐。

• 可以用FS W 或者 GS !对字符加粗,最后一条指令有效。

• 也可以用FS –选择或取消下划线模式,最后一条指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

FS - , FS W,GS !

参见 ESC !

FS & 选择汉字模式

[功能描述]

[数据格式]

选择汉字模式

ASCII

Hex

Hecimal

[应用注释]

FS

1C

28

&

26

38

• 当选中汉字模式时,打印机判断字符是否为汉字内码,如是汉字内码,先处理第一字节,然后判断第二字节是否为汉字内码。

• 打印机上电后自动选择汉字模式;

[相关指令] FS . , FS C

FS – n 选择/取消汉字下划线模式

[功能描述]

[数据格式]

选择 / 取消汉字下划线模式

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

-

2D

45

n

n

n

0 ≤ n ≤ 2, 48 ≤ n ≤ 50

根据 n 的值,选择或取消汉字的下划线:

n

- 28 -

功能

保密

编程手册

0, 48

1, 49

2, 50

取消汉字下划线

选择汉字下划线(1点宽)

选择汉字下划线(2点宽)

打印机能对所有字符加下划线,包括左右间距。但不能对由HT指令(横向跳格)引起的空格加下划线,也不对顺时针旋转90度的字符加下划线。

• 消下划线模式后,不再执行下划线打印,但原先设置的下划线宽度不会改变。默认下划线线宽为1点。

• 即使改变字符大小,设定的下划线线宽也不会改变。

• 用FS !也可选择或取消下划线模式,最后一条指令有效。

[ 默认值 ]

[相关指令]

[编程示例]

n = 0

FS !

参见 ESC _

FS . 取消汉字模式

[功能描述]

[数据格式]

取消汉字模式

ASCII

Hex

Hecimal

[应用注释]

[相关指令]

FS

1C

28

.

2E

46

• 当汉字模式被取消时,所有字符都当作作ASCII字符处理,每次只处理一个字节。

• 上电自动选择汉字模式。

FS &, FS C

FS 2 c1 dk 定义用户自定义汉字

[功能描述]

[数据格式]

定义用户自定义汉字

ASCII

Hex

Hecimal

[取值范围]

c1 = FEH

A1H ≤ c2 ≤ FEH

0 ≤ d ≤ 255

k = 72

[应用注释]

[ 默认值 ]

[相关指令]

- 29 -

FS

1C

28

2

32

50

c1 dk

c1 dk

c1 dk

c1 ,c2代表定义字符的字符编码

• c1 ,c2代表用户自定义汉字的编码,c1指定第一个字节,c2指定第二个字节。

• d代表数据。1表示打印一个点,0表示不打印点。

没有自定义汉字

FS C

自定义汉字字型与数据之间关系见下图:

保密

编程手册

FS S n1 n2 设置汉字字符左右间距

[功能描述]

[数据格式]

设置汉字字符左右间距

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

S

53

83

n1 n2

n1 n2

n1 n2

0 ≤ n1 ≤ 255

0 ≤ n2 ≤ 255

分别将汉字的左间距和右间距设置为 n1 和 n2。

• 当打印机支持GS P指令时,左间距是 [n1 × 横向或者纵向移动单位]英寸,右间距是[n2

× 横向或者纵向移动单位]英寸。

• 设置倍宽模式后,左右间距也加倍。

• 移动单位是由GS P指令设置的。 即使横向和纵向移动单位被GS P改变,原先设定的- 30 -

保密

编程手册

字符间距也不改变。

• 在标准模式下,用横向移动单位。

• 在页模式下,根据打印区域起始位置来选择是用横向移动单位还是纵向移动单位:

① 当起始位置在打印区域的左上角或右下角,用横向移动单位。

② 当起始位置在打印区域的右上角或左下角,用横向移动单位。

③ 汉字的最大右间距约为36mm,超过此值取最大值。

[ 默认值 ]

[相关指令]

[编程示例]

n1 = 0, n2 = 0

GS P

参见 ESC SP

FS W n 选择/取消汉字倍高倍宽

[功能描述]

[数据格式]

选择 / 取消 汉字倍高倍宽

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

W

57

87

n

n

n

0 ≤ n ≤ 255

• 当n的最低位为0,取消汉字倍高倍宽模式。

• 当n的最低位为1,选择汉字倍高倍宽模式。

• 只有n的最低位有效

• 在汉字倍高倍宽模式模式下,打印汉字的大小,与同时选择倍宽和倍高模式时相同。

• 取消汉字倍高倍宽模式后,以后打印出的汉字为正常大小。

• 当一行字中字符高度不同时,该行中的所有字符都按底线对齐。

• 也可以通过FS ! 或者 GS !指令(选择倍高和倍宽模式)来选择或取消汉字倍高倍宽模式,最后接收到的指令有效。

[ 默认值 ]

[相关指令]

n = 0

FS !, GS !

2.4 位图指令

ESC * m nL dk 选择位图模式

[功能描述]

[数据格式]

选择位图模式

ASCII

Hex

Hecimal

[取值范围]

ESC *

1B

27

2A

42

m nL dk

m nL dk

m nL dk

m = 0, 1, 32, 33

0 ≤ nL ≤ 255

0 ≤ nH ≤ 3

0 ≤ d ≤255

[应用注释] 选择由 m 指定的一种位图模式,位图点数由nL和nH确定:

- 31 -

保密

编程手册

m 模式

纵向 横向

点数 分辨率 分辨率 数据个数(k)

0 8点单密度 8 203/3 DPI 101 DPI nL + nH × 256

1 8点双密度 8 203/3 DPI 203 DPI nL + nH × 256

32 24点单密度 24 203 DPI 101 DPI ( nL + nH × 256) × 3

33 24点双密度 24 203 DP 203 DPI ( nL + nH × 256) × 3

• 如果m的值超出规定取值范围,nL 和其后的数据被作为普通数据处理。

• 横向打印点数由nL和nH决定,总的点数为 nL + nH

× 256。

• 位图超出当前区域的部分被截掉。

• d 是位图的数据。数据各个位为1则打印这个点,为0不打印。

• 位图数据发送完成后,打印机返回普通数据处理模式。

• 除了倒置模式,这条指令不受其它打印模式影响 (加粗、双重打印、下划线、大和反显)。

• 数据和要打印点的关系如下:

选择8点密度时:

选择24点密度时:

- 32 -

字符放

保密

编程手册

GS # n 定义当前下载图号

[功能描述]

[数据格式]

选择当前的下载位图图号,下载位图和打印位图根据此图号进行

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

1 ≤ n ≤ 8

该命令只针对下载到RAM中的位图,设定内容掉电后丢失。

下载到FLASH中的位图不使用本命令指定的图号。

GS #

1D

29

23

33

n

n

n

GS * x d(x × y × 8) 定义下载位图

[功能描述]

[数据格式]

定义下载位图

ASCII

Hex

Hecimal

[取值范围]

GS *

1D

29

2A

42

x d(x

× y

× 8)

x d(x

× y

× 8)

x d(x

× y

×

8)

1 ≤ x ≤ 255, 1 ≤ y ≤ 48

x

× y ≤ 912

0 ≤ d ≤ 255

[应用注释]

• x 指定位图的横向字节数;

• y 指定位图的纵向字节数。

• 位图横向上的点数为 x

× 8;位图纵向上的点数为 y

× 8。

• 如果 x

× y 超出规定的取值范围,则这条指令无效。

• d为位图数据。数据对应位为1表示打印该点,为0表示不打印。

• 下载的位图在下列情况下被清除:

① 打印机电源关闭。

• 打印数据和下载位图的关系如下图所示:

- 33 -

保密

编程手册

[相关指令] GS /

GS / m 打印下载位图

[功能描述]

[数据格式]

打印下载位图

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS /

1D

29

2F

47

m

m

m

0 ≤ m ≤ 3, 48 ≤ m ≤ 51

打印一幅下载位图,打印模式由 m 指定

m 选择打印模式如下:

m

模式

正常

倍宽

倍高

倍宽、倍高

纵向分辨率 (DPI) 横向分辨率 (DPI)

0, 48

1, 49

2, 50

3, 51

203

203

101

101

203

101

203

101

• 如果下载的位图没有被定义,这条指令被忽略。

• 在标准模式下,只有打印缓冲区没有数据时,此指令才有效。;

• 除倒置打印模式外,其它打印模式对该指令无效(包括加粗、双重打印、下划线、字体放大以及反显打印等)。

• 如果下载的位图超出了打印区域,则超出的部分不打印。

• 该命令打印位图为下载到RAM中的位图,不是下载到FLASH中的位图,对应的图号为GS # 命令设置的图号。

[相关指令] GS * ,GS #

GS v 0 m xL xH yL dk 打印光栅位图

[功能描述]

[数据格式]

打印光栅位图

ASCII

Hex

Hecimal

GS v

1D

29

76

0 m xL xH yL dk

30 m xL xH yL dk

118 48 m xL xH yL dk

- 34 -

保密

编程手册

[取值范围] 0 ≤ m ≤ 3, 48 ≤ m ≤ 51

0 ≤ xL ≤ 255

0 ≤ xH ≤ 255

0 ≤ yL ≤ 255

0 ≤ d ≤ 255

k = ( xL + xH × 256) × ( yL + yH × 256) ( k ≠ 0)

[应用注释] 打印光栅位图,由m值选择光栅位图模式

m

模式

正常

倍宽

倍高

倍宽、倍高

纵向分辨率 (DPI) 横向分辨率(DPI)

0, 48

1, 49

2, 50

3, 51

203 DPI

203 DPI

101 DPI

101 DPI

203 DPI

101 DPI

203 DPI

101 DPI

• xL、xH表示水平方向位图字节数(xL+ xH × 256)

• yL、yH表示垂直方向位图点数( yL+ yH × 256)

• 在标准模式下,只有打印机缓冲区无数据时该指令才有效。

• 字符放大、加粗、双重打印、倒置打印、下划线、黑白反显等打印模式对该指令无效。

• 位图超出打印区域的部分不打印。

• ESC a(选择对齐模式)对光栅位图有效。

• 宏定义的过程中,该命令将停止宏定义而执行该命令。该命令不作为宏定义的一部分。

• d 代表位图数据。每个字节的相应位为1表示打印该点,为0不打印该点。

[ 示例 ]

当 xL+ xH × 256 = 64

FS p n m 打印下载到FLASH中的位图

[功能描述]

[数据格式]

打印下载到FLASH中的位图

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

FS

1C

28

p

70

n

n

m

m

m 112 n

1 ≤ n ≤ 255 0 ≤ m ≤ 3 , 48 ≤ m ≤51

以m指定的模式打印下载到FLASH中的位图。

m

模式 纵向分辨率 (DPI) 横向分辨率 (DPI)

0.48

1.49

正常模式

倍宽模式

203

203

- 35 -

203

101

保密

编程手册

2.50

3.51

倍高模式

倍高倍宽模式

101

101

203

101

• n表示位图(由指令FS q定义)的图号。

• m指定打印位图的模式。

• Flash位图是由指令FS q定义存储在Flash存储器中并用指令FS p打印的位图。

• 当Flash 位图没有被定义时,该指令无效。

• 在标准模式下,该指令只有在打印缓冲区里没有数据时有效。

• 该指令除了受倒置打印模式的影响外,不受其他打印模式的影响(如:倍高、倍宽、下划线、字符放大、反显打印、顺时针旋转90度等)。

• 如果所要打印的下载位图超出当前打印区域,则不打印超出的部分。

• 打印完位图后,打印机换行,按普通模式处理其后的数据。

[相关指令] ESC *, FS q, GS /, GS v 0

FS q n [xL xH yL [xL xH yL dk]n 定义Flash位图

[功能描述]

[数据格式]

定义Flash 位图

ASCII

Hex

Hecimal

[取值范围]

FS

1C

28

q

71

n [ xL xH yL dk]

n [ xL xH yL dk]

[ xL xH yL dk]

[ xL xH yL dk]

[ xL xH yL dk] 113 n [ xL xH yL dk]

1 ≤ n ≤ 255

0 ≤ xL ≤ 255

1 ≤ ( xL + xH × 256) ≤ 1023

1 ≤ ( yL + yH × 256) ≤ 8190

0 ≤ d ≤ 255

k = ( xL + xH × 256) × ( yL + yH × 256) × 8

[应用注释]

• Flash下载容量最大为256K,打印机配置不同,Flash下载容量可能小于256K

• n 指定所要定义的Flash 位图的数目。

• xL、 xH指定Flash 位图的横向点数( xL + xH × 256) × 8。

• yL、 yH指定Flash 位图的纵向点数( yL + yH × 256) × 8。

• 频繁执行该指令能损坏Flash 存储器,推荐每天最多写Flash 10次。

• 该指令删除所有的以前由该指令定义的Flash 位图,打印机不能对上一次定义的多幅位图中的一个进行重新定义,在这种情况下,必须重新发送所有的数据。

• 由于在处理该指令的过程中,打印机处于忙状态,它向Flash 中写数据并且停止接收其他指令,因此,在该指令的执行过程中,禁止向打印机发送其他命令,包括实时指令。

• Flash位图是由指令FS q定义存储在Flash存储器中并用指令FS p打印的位图。

• 在标准模式下,该指令仅在行首时有效。

• 从 FS 到 yH 的七个字节数据作为命令数据处理,不是图形数据的一部分。

• 当位图数据字节数超出由它左边的xL、xH、yL、yH定义的取值范围,则打印机只处理xL、xH、yL、yH定义的取值范围的数据。

• 在第一组Flash位图里,当xL, xH, yL, yH中任何一个参数超出定义的取值范围时,该指- 36 -

保密

编程手册

[相关指令]

[ 示例 ]

令无效。

• 在下载多幅位图时,如果打印机处理xL、xH、yL、yH超出定义的取值范围,则打印机停止执行这条指令。命令中在此之后的位图无效,在此之前的位图有效。

• d是定义的位图数据,在数据中相应位为1表示打印该点,为0表示不打印。

• 这条指令定义了 n 幅Flash位图。每个位图的序列号从 1 依次增加,因此,第一个数据组 [xL xH yL dk] 是Flash位图 1 的数据,最后一个数据组 [xL xH yL yH

d1...dk] 是Flash位图 n 的数据。在用FS p 指令打印位图时,也是如此。

• 定义一幅Flash位图的数据由 [xL xH yL dk] 组成。因此,当只有一幅位图时,n = 1。打印机占用Flash存储器字节数如下:

[位图数据子结数:( xL + xH × 256)×( yL + yH × 256)× 8] + [头信息:4]

• 在打印机里Flash下载空间最大为64K bits ( 8K bytes),该指令可以定义多幅 Flash位图,但不能定义一幅大小超过64K bits的位图(不同的打印机下载空间也不相同,请参照打印机配置信息)。

• 在写Flash 之前,打印机立即处于忙状态。

• 在处理该指令的过程中,打印机不传送状态也不执行状态查询。

• 在宏定义的过程中接受到该指令,打印机将结束宏定义,开始执行该指令。

• 如果一幅Flash位图被定义,执行ESC @命令、复位和关闭电源不能将其擦 除。

• 该指令只是定义Flash位图,不执行打印,打印Flash位图由FS p指令执行。

FS p

当 xL = 64, xH = 0, yL = 96, yH = 0

- 37 -

保密

编程手册

2.5 状态指令

DLE EOT n实时状态传输

[功能描述]

[数据格式]

[取值范围]

[应用注释]

实时状态传输

ASCII DLE EOT n

Hex 10 04 n

Hecimal 16 4 n

1 ≤ n ≤ 4

n = 1:传输打印机状态

n = 2:传输脱机状态

n = 3:传输错误状态

n = 4:传输纸传感器状态

• 打印机收到该指令后立即返回相关状态

• 即使打印机被ESC =(选择外设)命令设置为禁止,该指令依然有效。

• 打印机传输当前状态,每一状态用1个字节表示。

• 打印机传输状态值并不确认主计算机是否收到。

• 打印机收到该指令立即执行。

• 该指令对串口、半字节并口、USB接口打印机有效。

• 打印机在任何状态下收到该指令都立即执行。

n = 1: 打印机状态

0/1 HEX Decimal

功能

0 0 00 0

固定为0

1 1 02 2

固定为1

一个或两个钱箱打开

2

0 00 0

1 04 4

两个钱箱都关闭

联机

3

0 00 0

1 08 8

脱机

4 1 10 16

固定为1

5,6

- - -

未定义

7 0 00 00

固定为0

n = 2: 脱机状态

位 0/1 HEX Decimal 功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2

0 00 0 上盖关

1 04 4 上盖开

3

0 00 0 未按走纸键

1 08 8 按下走纸键

- 38 -

保密

编程手册

[相关指令]

4 1 10 16 固定为1

5

0 00 0 打印机不缺纸

1 20 32 打印机缺纸

6

0 00 0 没有出错情况

1 40 64 有错误情况

7 0 00 0 固定为0

n = 3: 错误状态

0/1 HEX Decimal

功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2 - - - 未定义

3

0 00 0 切刀无错误

1 08 8 切刀有错误

4 1 10 16 固定为1

5 0 00 0 固定为0

0 00 0 打印头温度和电压正常

6

1 40 64

打印头温度或电压超出取值范围

7 0 00 0 固定为0

n = 4: 传送纸状态

位 1/0 HEX Decimal 功能

0 0 00 0 固定为0

1 1 02 2 固定为1

2,3

0 00 0 非纸将尽状态

1 0C 12 纸将尽状态

4 1 10 16 固定为1

5,6

0 00 0 有纸

1 60 96 纸尽

7 0 00 0 固定为0

该指令尽量不要插在2个或更多字节的指令序列中。

例如:

如果试图将ESC 3 n 传送至打印机,但是n 传送之前DTR 变为MARK (DSR 用于主机),然后DLE EOT 3 在接收到n 之前中断。DLE EOT 3的代码<10>H 被处理为ESC

3 <10>H 的代码。

DLE ENQ, GS a, GS r

- 39 -

保密

编程手册

GS a n自动状态返回

[功能描述]

[数据格式]

自动状态返回

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS a

1D

29

61

97

n

n

n

0 ≤ n ≤ 255

确定自动状态返回的内容,参数n含义如下:

• n不等于0时,当该状态改变时,打印机自动返回四个字节的打印机状态

• n等于0时,自动状态返回功能无效

• 打印机自动返回状态字节时,不确认主计算机是否准备好

• 本命令与其他命令一起按顺序执行,所以从发送该命令到自动状态返回设置有效,有一定时间延迟

• 即使打印机被ESC = 命令设置为无效状态, 打印机仍按设置进行自动状态返回

• 返回的状态信息如下:

第一字节(打印机信息)

Bit Off/On Hex Decimal

打印机状态

不用,固定为0

不用,固定为0

钱箱接口3脚为低电平

钱箱接口3脚为高电平

打印机在线

打印机离线

不用,固定为1

打印机上盖合上

打印机上盖打开

未用进纸键进纸

正在用进纸键进纸

不用,固定为0

0

1

2

Off

Off

Off

On

3

4

5

00

00

00

04

00

08

10

00

20

00

40

00

Hex

-

-

-

0

0

0

4

0

8

16

0

32

0

64

0

Decimal

-

-

-

Off

On

On

Off

On

Off

On

Off

Off/On

-

-

6

7

第二字节 (打印机信息)

Bit

打印机状态

未定义

未定义

未定义

没有切刀错误

有切刀错误

不用,固定为0

无可恢复错误

有可恢复错误

0

1

2

3

4

5

-

Off

On

Off

Off

On

00

08

00

00

20

0

8

0

0

32

- 40 -

保密

编程手册

6

7

Off

On

Off

00

40

00

0

64

0

无可自动恢复错误

有可自动恢复错误

不用,固定为0

Bit 5: 类似于塞纸等错误为可恢复错误,这些错误可排除并用DLE ENQ n (1 ≤ n ≤ 2)命令使打印机恢复正常工作,类似于控制板损坏等错误为不可恢复错误

Bit 6: 类似于打印头过热等错误为可自动恢复错误,打印机出现这类错误时经过一段时间能够自动恢复到正常工作状态

第三字节 (纸传感器信息)

Bit Off/On Hex Decimal

打印机状态

未探测到纸将尽

纸将尽

未探测到纸尽

纸尽

不用,固定为0

-

未定义

不用,固定为0

0,1

2,3

4

5,6

7

Bit

Off

On

Off .

On .

Off

-

Off

Off/On

00

03

00

0C

00

-

00

Hex

0

3

0

12

0

0

Decimal

-

第四字节(纸传感器信息)

打印机信息

未定义

不用,固定为0

-

未定义

不用,固定为0

0-3

4

5,6

7

-

Off

-

Off

-

00

-

00 0

0

GS r n 返回状态

[功能描述]

[数据格式]

返回状态

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS r

1D

29

72

n

n

114 n

n = 1, 2, 49, 50

返回由n值指定的状态:

n

1,49

2,50

功能

返回纸传感器状态

返回钱箱状态

. 该指令对串口、半字节并口、USB接口打印机有效。

• 接收缓冲器中此命令前的数据被处理完之后,才执行这条指令,因此,发送该指令与接收到返回状态有一定的时间滞后。

• 返回状态字节各位对应关系如下所示:

纸传感器状态 ( n = 1,49 ):

0/1 Hex Decimal

- 41 -

状态

保密

编程手册

0,1

2,3

4

5,6

7

0

1

0

1

0

00

03

00

0c

00

0

3

0

12

0

纸将尽传感器,有纸

纸将尽传感器,纸将尽

纸尽传感器,有纸

纸尽传感器,缺纸

不用,固定为0

未定义

不用,固定为0 0f 00 0

钱箱状态 ( n = 2, 50):

0/1 Hex Decimal

状态

0

0

1

00

01

0

1

有钱箱打开

无钱箱打开

未定义

不用,固定为0

1- 3

4

5,6

7

[相关指令]

0

0 00

0

0

未定义

不用,固定为0 00

DLE EOT,GS a

2.6 条码指令

GS H n 选择HRI字符的打印位置

[功能描述]

[数据格式]

打印条码时,为HRI字符选择打印位置。

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS H

1D

29

48

72

n

n

n

0 ≤ n ≤ 3, 48 ≤ n ≤ 51

n指定 HRI 打印位置:

n

打印位置

0, 48

1, 49

2, 50

3, 51

[ 默认值 ]

[相关指令]

不打印

条码上方

条码下方

条码上、下方都打印

• HRI 是对条码内容应用注释的字符。

• HRI 字符的字体是由 GS f 指令来指定。

n = 0

GS f, GS k

- 42 -

保密

编程手册

GS f n 选择HRI使用字体

[功能描述]

[数据格式]

打印条码时,为 HRI 字符选择一种字体

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

GS f

1D

29

66

n

n

102 n

n = 0, 1, 48, 49

用 n 来选择字体如下:

n

字体

标准ASCII字符 (12 × 24)

压缩ASCII字符 (9 × 17)

0,48

1,49

[ 默认值 ]

[相关指令]

• HRI 字符是对条码内容应用注释的字符。

• HRI 字符的打印位置由 GS H 命令指定。

n = 0

GS H, GS k

GS h n 选择条码高度

[功能描述]

[数据格式]

选择条码高度

ASCII

Hex

Hecimal

[取值范围]

[应用注释]

[ 默认值 ]

[相关指令]

GS h

1D

29

68

n

n

104 n

1 ≤ n ≤ 255

条码高度为 n 点。

n = 162

GS k

①GS k dk NUL②GS k m dn 打印条码

[功能描述]

[数据格式]

选择一种条码类型并打印条码

①ASCII

Hex

Hecimal

②ASCII

Hex

Hecimal

[取值范围]

[应用注释]

m

GS k

1D

29

1D

29

6B

d k NUL

d k 00

m n

m n

d1... dn

d1... dn

d1... dn

107 d k 0

6B

GS k

107 m n

①0 ≤ m ≤ 6 (k和d的取值取值范围是由条码类型来决定)

②65 ≤ m ≤ 73 (k和d的取值取值范围是由条码类型来决定)

m 用来选择条码类型,如下所示:

条码类型

0

字符个数

11 ≤ k ≤ 12

- 43 -

d

48 ≤ d ≤ 57

① UPC-A

发布评论

评论列表 (0)

  1. 暂无评论