ESC/POS  控制指令

HT 横向跳格

[名称]

Horizontal tab

[格式]

ASCII

HT

Hex

09

Decimal

9

[描述]

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

[注释]

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

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

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

*    如果接收到此命令时当前位置在[打印宽度+1],打印机执行当前行缓冲区满动 作并且将打印位置移到下一行的起始位置。

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

*    当前行缓冲区满时,打印机打印当前行内容并将打印位置置于下一行的起始位 置。

[参考]

ESC D

LF 打印并走纸一行

[名称]

Print and line feed

[格式]

ASCII

LF

Hex

0A

Decimal

10

[描述]

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

[注释]

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

[参考]

ESC 2, ESC 3

 

ESC SP n 设置字符右间距

[名称]

Set right-side character spacing

[格式]

ASCII

ESC        SP         n

Hex

1B           20         n

Decimal

27           32         n

[范围]

0≤n≤255

[描述]

设置字符的右间距为n点(8点为1mm)处。

[注释]

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

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

[默认值]

n=0

[参考]

ESC ! n 选择打印模式

[名称]

Select
print mode(s)

[格式]

ASCII

ESC        !             n

Hex

1B           21         n

Decimal

27           33         n

[范围]

0≤n≤255

[描述]

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

1/0

HEX

Decimal

功能

0,1,2

未定义

3

0

00

0

取消加粗模式

1

08

8

选择加粗模式

4

0

00

0

取消倍高模式

1

10

16

选择倍高模式

5

0

00

0

取消倍宽模式

1

20

32

选择倍宽模式

6

未定义

7

0

00

0

取消下划线模式

1

80

128

选择下划线模式

[注释]

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

*    除了 HT 设置的空格和旋转打印的字符,其余任何字符都可以加下划线。

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

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

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

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

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

[默认值]

n=0

[参考]

ESC -, ESC
E
, GS !

                 

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

[名称]

Set absolute print position

[格式]

ASCII

ESC        $            nL         nH

Hex

1B           24         nL         nH

Decimal

27           36         nL         nH

[范围]

0≤nL≤255;0≤nH≤2

[描述]

将当前位置设置到距离行首(nL+nH×256)点(8点为1mm)处。

[注释]

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

[参考]

ESC \

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

[名称]

Select bit-image mode

[格式]

ASCII

ESC        *            m          nL         nH        d1...dk

Hex

1B           2A         m          nL         nH        d1...dk

Decimal

27           42         m          nL         nH        d1...dk

[范围]

m = 0, 1, 32, 33;0 ≤ nL ≤ 255;0 ≤ nH
≤ 3;0 ≤ d
≤ 255

[描述]

选择由m 指定的一种位图模式,位图点数由nL 和nH 确定:

m

模式

纵向

横向

点数

分辨率

分辨率

数据个数(k)

0

8 点单密度

8

67DPI

100DPI

nL+nH×256

1

8 点双密度

8

67DPI

200DPI

nL+nH×256

32

24 点单密度

24

200DPI

100DPI

(nL+nH×256)×3

33

24 点双密度

24

200DPI

200DPI

(nL+nH×256)×3

[注释]

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

*    横向打印点数由 nL 和 nH 决定,总的点数为 nL+nH×256。

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

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

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

*    这条指令不受其它打印模式影响
(加粗、双重打印、下划线、字符放大和反 显)。

*    数据和要打印点的关系如下:
选择 8  点密度时:

                   

选择 24  点密度时:

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

[名称]

Select/cancel user-defined character set

[格式]

ASCII

ESC        -             n

Hex

1B           2D         n

Decimal

27           45         n

[范围]

0≤n≤2,48≤n≤50

[描述]

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

n

功能

0,48

取消下划线模式

1,49

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

2,50

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

[注释]

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

*    下划线不能作用在字符旋转模式和反显的字符下。

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

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

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

[默认值]

n=0

[参考]

ESC !

           

ESC 2 设置默认行高

[名称]

Select
default line
spacing

[格式]

ASCII

ESC        2

Hex

1B           32

Decimal

27           50

[描述]

选择 30 点行高。

[注释]

[参考]

ESC 3

ESC 3 n 设置行高

[名称]

Set line
spacing

[格式]

ASCII

ESC        3            n

Hex

1B           33         n

Decimal

27           51         n

[范围]

0≤n≤255

[描述]

设置行高为 n 点行。

[注释]

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

[默认值]

默认值行高 30 点行。

[参考]

ESC 2

ESC @ 初始化打印机

[名称]

Initialize printer

[格式]

ASCII

ESC        @

Hex

1B           40

Decimal

27           64

[描述]

清除打印缓冲区数据,打印模式被设为上电时的默认值模式。

[注释]

*    指令缓冲区内容保留。

ESC D n1...nk NUL 设置横向跳格位置

[名称]

Set horizontal tab positions

[格式]

ASCII

ESC        D           n1...nk         NUL

Hex

1B           44         n1...nk         00

Decimal

27           68         n1...nk         0

[范围]

1 ≤ n ≤ 255;0 ≤ k ≤ 32

[描述]

设置横向跳格位置。

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

*    共有 k 个跳格位置。

[注释]

*    横向跳格位置由下式计算:字符宽度×n,字符宽度包括右间距,如果字符为倍

宽,跳格距离也随之加倍。

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

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

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

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

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

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

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

[默认值]

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

[参考]

HT

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

[名称]

Turn emphasized mode
on/off

[格式]

ASCII

ESC        E           n

Hex

1B           45         n

Decimal

27           69         n

[范围]

0≤n≤255

[描述]

选择或取消加粗模式:

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

[注释]

*    n 只有最低位有效。

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

[默认值]

n = 0

[参考]

ESC !

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

[名称]

Turn on/off double-strike mode

[格式]

ASCII

ESC        G           n

Hex

1B           47         n

Decimal

27           71         n

[范围]

0≤n≤255

[描述]

选择或取消双重打印模式:

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

[注释]

*    n 只有最低位有效。

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

[默认值]

n = 0

[参考]

ESC E

ESC J n 打印并走纸

[名称]

Print and feed paper

[格式]

ASCII

ESC        J            n

Hex

1B           4A         n

Decimal

27           74         n

[范围]

0≤n≤255

[描述]

打印缓冲区数据并走纸n点行。

[注释]

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

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

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

[参考]

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

[名称]

Set relative print position

[格式]

ASCII

ESC        \             nL         nH

Hex

1B           5C         nL         nH

Decimal

27           92         nL         nH

[范围]

0 ≤ nL
≤ 255;0 ≤ nH ≤ 255

[描述]

*    该指令将打印位置设置到距当前位置(nL+nH×256)点处。

[注释]

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

*    打印起始位置从当前位置移动到 N = nL+nH×256 点。

[参考]

ESC $

ESC a n 选择字符对齐模式

[名称]

Select
justification

[格式]

ASCII

ESC        a            n

Hex

1B           61         n

Decimal

27           97         n

[范围]

0 ≤ n ≤ 2;48 ≤ n
≤ 50

[描述]

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

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

n

对齐方式

0,48

左对齐

1, 49

中间对齐

2, 50

右对齐

[注释]

*    该指令只在行首有效。

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

[默认值]

n = 0

[实例]

           

ESC
d n
打印并向前走纸 n

[名称]

Print and feed n lines

[格式]

ASCII

ESC        d            n

Hex

1B           64         n

Decimal

27           100       n

[范围]

0 ≤ n
≤ 255

[描述]

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

[注释]

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

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

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

[参考]

ESC 2, ESC
3

 

0/1

Hex

Decimal

功能

0

字符高度选择,见表
2。

1

2

3

4

字符宽度选择,见表
1。

5

6

7

GS ! n 选择字符大小

[名称]

Select
character size

[格式]

ASCII

GS          !             n

Hex

1D           21         n

Decimal

29           33         n

[范围]

0 ≤ n ≤ 255(1 ≤ 纵向放大倍数 ≤ 8,1 ≤ 横向放达倍数 ≤ 8)

[描述]

用0到3位选择字符高度,4到7位选择字符宽度,如下表所示:

表 1                                                                        表 2

宽度选择                               高度选择

Hex

Decimal

横向放大倍数

Hex

Decimal

纵向放大倍数

00

0

1 (正常)

00

0

1 (正常)

10

16

2 (2 倍宽)

01

1

2 (2 倍高)

20

32

3

02

2

3

30

48

4

03

3

4

40

64

5

04

4

5

50

80

6

05

5

6

60

96

7

06

6

7

70

112

8

07

7

8

[注释]

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

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

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

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

[默认值]

n = 0

[参考]

ESC !

                     

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

[名称]

Turn white/black reverse
printing mode

[格式]

ASCII

GS          B           n

Hex

1D           42         n

Decimal

29           66         n

[范围]

0 ≤ n
≤ 255

[描述]

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

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

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

[注释]

*    n 只有最低位有效。

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

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

*    这条指令不影响位图、自定义位图、条码、HRI 字符以及由 HT,ESC $,ESC \

设定的空白。

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

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

[默认值]    n = 0

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

[名称]

Select
printing position for
HRI characters

[格式]

ASCII

GS          H           n

Hex

1D           48         n

Decimal

29           72         n

[范围]

0 ≤ n
≤ 3 , 48 ≤ n ≤ 51

[描述]

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

n指定HRI打印位置:

*    HRI 是对条码内容注释的字符。

[注释]

[默认值]

n = 0

[参考]

GS k

n

打印位置

0,48

不打印

1,49

条码上方

2,50

条码下方

3,51

条码上、下方都打印

GS LnL nH 设置左边距

[名称]

Set left margin

[格式]

ASCII

GS          L            nL         nH

Hex

1D           4C         nL         nH

Decimal

29           76         nL         nH

[范围]

0 ≤ nL ≤ 255 , 0
≤ nH
≤ 255

[描述]

*    用 nL 和 nH 设置左边距;

*    将左边距设置为(nL+nH×256)点。

[注释]

*    该命令只有在行首才有效。

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

[默认值]

nL = 0,
nH = 0

[参考]

GS W

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

[名称]

Set printing area
width

[格式]

ASCII

GS          W          nL         nH

Hex

1D           57         nL         nH

Decimal

29           87         nL         nH

[范围]

0 ≤ nL ≤ 255 , 0
≤ nH
≤ 255

[描述]

*    用 nL 和 nH 设置打印区域宽度;

*    将打印区域宽度设置为(nL+nH×256)点。

[注释]

*    该命令只有在行首才有效。

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

[默认值]

nL = 76, nH = 2

[参考]

GS L

GS h n 选择条码高度

[名称]

Select
bar code height

[格式]

ASCII

GS          h            n

Hex

1D           68         n

Decimal

29           104       n

[范围]

1 ≤ n
≤ 255

[描述]

选择条码高度。条码高度为n点。

[默认值]

n = 162

[参考]

GS k

GS k m d1...dk NULGS k m n d1...dn 打印条码

[名称]

Print bar code

[格式]

ASCII

GS      k         m        d1...dk       NUL

Hex

1D      6B      m        d1...dk       00

Decimal

29       107    m        d1...dk       0

ASCII

GS      k         m        n                d1...dn

Hex

1D      6B      m        n                d1...dn

Decimal

29       107    m        n                d1...dn

[范围]

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

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

[描述]

选择一种条码类型并打印条码。m用来选择条码类型,如下所示:

m

条码类型

字符个数

d

备注

0

UPC-A

11 ≤k ≤12

48 ≤d ≤57

第 12 位为校验值

1

UPC-E

11 ≤k ≤12

48 ≤d ≤57

2

JAN13
(EAN13)

12 ≤k ≤13

48 ≤d ≤57

第 13 位为校验值

3

JAN 8 (EAN8)

7 ≤ k ≤ 8

48 ≤d ≤57

第 8 位为校验值

4

CODE39

1 ≤ k ≤ 255

45 ≤d ≤57, 65 ≤d ≤90,

d =
32,36, 37,43

5

ITF

1 ≤ k ≤ 255 (偶数)

48 ≤d ≤57

6

CODABAR

1 ≤ k ≤ 255

48 ≤d ≤57, 65 ≤d ≤68, d =
36,43,45,46,47,58

65

UPC-A

11 ≤n ≤12

48 ≤d ≤57

第 12 位为校验值

66

UPC-E

11 ≤n ≤12

48 ≤d ≤57

67

JAN13 (EAN13)

12 ≤n ≤13

48 ≤d ≤57

第 13 位为校验值

68

JAN 8 (EAN8)

7 ≤n ≤8

48 ≤d ≤57

第 8 位为校验值

69

CODE39

1≤ n ≤ 255

45 ≤d ≤57, 65 ≤d ≤90,

d = 32,36, 37,43
d1 = dk = 42

字符>12,太长无

法打印

70

ITF

1 ≤ n≤ 255   (偶数)

48 ≤d ≤57

71

CODABAR

1 ≤ n≤ 255

48 ≤d ≤57 65 ≤d ≤68,

d =
36,43,45,46,47 58

72

CODE93

1 ≤ n≤ 255

0 ≤d ≤127

73

CODE128

2 ≤ n≤ 255

0 ≤d ≤127

[注释①]

*    该命令在这种格式下以 NULL 结束。

*    当选择 UPC-A 或者 UPC-E 码时,打印机接收到 12 字节条码数据后,剩余
的字符被当作普通字符处理。

*    当选择 JAN13(EAN13)类型时,打印机接收到 13 字节条码数据后,剩余的字 符被当作普通字符处理。

*    当选择 JAN8(EAN8),类型时,打印机接收到 8 字节条码数据后,剩余的字符
被当作普通字符处理。

*    ITF 码数据个数必须是偶数。如果输入奇数个条码数据,则最后一个数据被忽
略。

[注释②]

*    n 用来指示条码数据的个数,打印机将其后边 n 字节数据作为条码数据处

理。

*    如果 n 超出了规定的范围,打印机不处理这条命令,将其后的数据作为普通
数据处理。

[注释]

*    如果条码数据 d 超出了规定的范围,该命令无效。

*    如果条码横向超出了打印区域,无效。

*    这条命令不管由 ESC 2 或 ESC 3 命令设置的行高是多少,走纸距离都与设 定的条码高度相等。

                   

m

模式

纵向分辨率 (DPI)

横向分辨率 (DPI)

0,48

正常模式

200

200

1,49

倍宽模式

200

100

2,50

倍高模式

100

200

3,51

倍高倍宽模式

100

100

*    这条命令只有在打印缓冲区没有数据时才有效,如果打印缓冲区有数据,该命

令被忽略。

*    打印条码后,将打印位置设置在行首。

*    打印模式设置(如加粗、双重打印、下划线、字符大小、反色以及字符旋转
等)不影响这条命令,但是倒置模式对条码打印有影响。

[参考]

GS H, GS h,
GS w

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

[名称]

Print raster bit image

[格式]

ASCII

GS          v            0         m        xL       xH       yL        yH       d1....dk

Hex

1D           76         30       m        xL       xH       yL        yH       d1....dk

Decimal

29           118       48       m        xL       xH       yL        yH       d1....dk

[范围]

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 值选择光栅位图模式。

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

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

[注释]

*    只有打印机缓冲区无数据时该指令才有效。

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

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

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

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

[实例]

当 xL + (xH×256) =
64

GS w n 设置条码宽度

n

单基本模块宽度(mm)

双基本模块宽度

窄基本模块(mm)

宽基本模块(mm)

2

0.25(2 点)

0.25(2 点)

0.625(5 点)

3

0.375(3 点)

0.375(3 点)

1.0(8 点)

4

0.5(4 点)

0.5(4 点)

1.25(10 点)

5

0.625(5 点)

0.625(5 点)

1.625(13 点)

6

0.75(6 点)

0.75(6 点)

1.875(15 点)

[名称]

Set bar code
width

[格式]

ASCII

GS          w           n

Hex

1D           77         n

Decimal

29           119       n

[范围]

2≤n≤6

[描述]

设置条码横向模块宽度。用n来指定条码的横向模块宽度:

*    单基本模块条码如下:UPC-A, UPC-E, JAN13(EAN13), JAN8(EAN8), CODE93,CODE128

*    双基本模块条码如下:CODE39,ITF,CODABAR

[默认值]

n = 2

[参考]

GS k

GS ( k pL
pH
cn fn [parameters]
设置及打印二维码

[名称]

Set up
and print symbol

[描述]

*    处理二维码数据

*    pL, pH 通过 (pL
+ pH × 256) 确定 pH 后面的数据
(cn,fn 及[parameters])

的总数量。

*    cn 指定二维码的类型,固定为 49。

*    fn 指定功能指令。

*    [parameters]由不同功能指令确定。

fn

格式

功能号

功能名

65

GS ( k pL pH
cn fn n1 n2

165

QR 码: 选择模型(无效)

67

GS ( k pL pH
cn fn n

167

QR 码: 设置二维码块大小

69

GS ( k pL pH
cn fn n

169

QR 码: 选择纠错级别

80

GS ( k pL pH
cn fn m

d1...dk

180

QR 码: 存入二维码数据

81

GS ( k pL pH
cn fn m

181

QR 码: 打印已存入数据的二维码

82

GS ( k pL pH
cn fn m

182

QR 码: 获取已存入数据的大小信息

[注释]

获取已存入数据的大小信息命令被发送时,在收到返回数据前,不要发送后续数

据。

[参考]

<Function 167> GS ( k pL pH cn
fn n(cn = 49, fn =
67)
设置二维码块大小

[名称]

QR Code: Set the size
of module

[格式]

ASCII

GS        (            k            pL         pH        cn         fn          n

Hex

1D        28         6B         pL         pH        cn         fn          n

Decimal

29         40         107       pL         pH        cn         fn          n

[范围]

(pL+(pH+256))=3    (pL=3, pH=0)

cn = 49
fn
= 67

1 ≤ n
≤ 16

[描述]

*    设置二维码块大小为 n 点。

[默认值]

n = 4

[参考]

<Function 169>
GS
( k pL pH cn
fn n(cn = 49, fn =
69)
选择二维码纠错等级

[名称]

QR Code: Select the error correction level

[格式]

ASCII

GS        (            k            pL         pH        cn         fn          n

Hex

1D        28         6B         pL         pH        cn         fn          n

Decimal

29         40         107       pL         pH        cn         fn          n

[范围]

(pL+(pH+256))=3    (pL=3, pH=0)

cn = 49
fn
= 69

48 ≤ n
≤ 51

[描述]

*    选择 QR 码的编码纠错等级

N

功能

可被覆盖区域比例

48

选择纠错级别 L

7%

49

选择纠错级别 M

15%

50

选择纠错级别 Q

25%

51

选择纠错级别 H

30%

[默认值]

n = 48

[参考]

             

<Function 180>
GS
( k pL pH cn
fn m d1      dk (cn = 49, fn =
80)
存入二维码数据

[名称]

QR Code: Store the
data in the symbol storage area

[格式]

ASCII

GS        (            k           pL         pH        cn         fn          m          d1    dk

Hex

1D        28         6B        pL         pH        cn         fn          m          d1    dk

Decimal

29         40         107      pL         pH        cn         fn          m          d1    dk

[范围]

4 ≤ (pL + pH × 256) ≤ 7092
(0 ≤ pL ≤ 255, 0 ≤ pH ≤ 27)

cn
= 49 fn = 80 m
= 48

0
≤ d ≤ 255

k = (pL
+ pH × 256) – 3

[描述]

*    存入 QR 二维码数据(d1    dk)

[参考]

<Function 181>
GS
( k pL pH cn
fn m(cn =
49,
fn = 81)
打印已存入数据的二维码

[名称]

QR Code: Print the symbol
data in the symbol
storage area

[格式]

ASCII

GS        (            k            pL         pH        cn         fn          n

Hex

1D        28         6B         pL         pH        cn         fn          n

Decimal

29         40         107       pL         pH        cn         fn          n

[范围]

(pL+(pH+256))=3    (pL=3, pH=0)

cn
= 49 fn = 81 m
= 48

[描述]

*    编码并打印通过 GS ( k<Function 180>存入数据的 QR 二维码

[注释]

QR 码打印时,用户必须自行安排空白区域(通过 QR 二维码规范定义的左、右、

上、下空白地域)

[参考]

汉字字符控制命令  Chinese character control order

FS ! n 设置汉字字符模式 Set print mode for Chinese characters.

[名称]

Set print mode(s)
for Chinese characters

[格式]

ASCII

FS           !             n

Hex

1C           21         n

Decimal

28           33         n

[范围]

0≤n≤255

[描述]

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

1/0

HEX

Decimal

功能

0,1

-

-

-

未定义

2

0

00

0

取消倍宽模式

1

04

4

选择倍宽模式

3

0

00

0

取消倍高模式

1

08

8

选择倍高模式

4-6

-

-

-

未定义

7

0

00

0

取消下划线模式

1

80

128

选择下划线模式

[注释]

*    当倍宽与倍高度模式同时被设定时,字符横向和纵向同时被放大两倍(包括左

右间距)。

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

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

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

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

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

[默认值]

n=0

[参考]

FS −, FS W, GS !

                 

FS &选择汉字模式

[名称]

Select
Chinese character mode

[格式]

ASCII

FS           &

Hex

1C           26

Decimal

28           38

[描述]

选择汉字模式

[注释]

*    当选中汉字模式时,打印机判断字符是否为汉字内码,如是汉字内码,先处理

第一字节,然后判断第二字节是否为汉字内码。

*    打印机上电后自动选择汉字模式。

[参考]

FS .

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

[名称]

Turn underline mode
on/off for Chinese characters

[格式]

ASCII

FS           -             n

Hex

1C           2D         n

Decimal

28           45         n

[范围]

0≤n≤2,48≤n≤50

[描述]

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

n

功能

0,48

取消汉字下划线

1,49

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

2,50

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

[注释]

*    打印机能对所有字符加下划线,包括左右间距。但不能对由 HT 指令(横向跳

格)引起的空格加下划线,也不对顺时针旋转 90 度的字符加下划线。

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

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

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

[默认值]

n=0

[参考]

FS !

           

FS .取消汉字模式

[名称]

Cancel
Chinese character mode

[格式]

ASCII

FS           .

Hex

1C           2E

Decimal

28           46

[描述]

取消汉字模式

[注释]

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

节。

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

[参考]

FS &

FS C
n
选择双字节字符编码系统

[名称]

Select
Kanji character code
system

[格式]

ASCII

FS           C           n

Hex

1C           43         n

Decimal

28           67         n

[范围]

0≤n≤2,48≤n≤50

[描述]

根据 n  的值选择双字节字符编码系统:

n

编码系统

0,48

GBK 简体中文

1,49

BIG5 繁体中文

2,50

KSC5601 韩文

[默认值]

n=0

[参考]

           

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

[名称]

Set left-
and right-side
Chinese character spacing

[格式]

ASCII

FS           S           n1         n2

Hex

1C           53         n1         n2

Decimal

28           83         n1         n2

[范围]

0 ≤ n1 ≤ 255 , 0
≤ n2
≤ 255

[描述]

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

[注释]

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

[默认值]

n1 = 0,n2 = 0

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

[名称]

Turn quadruple-size
mode on/off for Chinese
characters

[格式]

ASCII

FS           W          n

Hex

1C           57         n

Decimal

28           87         n

[范围]

0≤n≤255

[描述]

选择或者取消汉字倍高倍宽模式。

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

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

[注释]

*    只有 n 的最低位有效

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

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

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

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

[默认值]

n=0

[参考]

FS !GS !

默认选项设置

US ESC US m n 选择双字节字符编码系统(m= 0xFC)

[名称]

Select
Kanji character code
system

[格式]

ASCII

US          ESC        US               m                 n

Hex

1F           1B           1F                FE                n

Decimal

31           27            31                254              n

[范围]

0≤n≤2,48≤n≤50

[描述]

根据 n  的值选择双字节字符编码系统:

n

编码系统

0,48

GBK 简体中文

1,49

BIG5 繁体中文

2,50

KSC5601 韩文

[注释]

The setting will be restored and not lost
even restart the machine.

[默认值]

n = 0

[参考]

           

US ESC
US
m n
选择国际字符集(m=
0xFD)

[名称]

Select
an international character set

[格式]

ASCII

US             ESC           US             m               n

Hex

1F              1B               1F              FD             n

Decimal

31              27               31              253           n

[范围]

0≤n≤15

[描述]

Select the character set by
the N value

n

Character set

0

美国(U.S.A.)

1

法国(France)

2

德国(Germany)

3

英国(U.K.)

4

丹麦 I (Denmark I)

5

瑞典(Sweden)

6

意大利(Italy)

7

西班牙 I (Spain
I)

8

日本(Japan)

9

挪威(Norway)

10

丹麦 II(Denmark II)

11

西班牙 II(Spain II)

12

拉丁美洲(Latin America)

13

韩国(Korea)

14

斯洛文尼亚/克罗地亚(Slovenia / Croatia)

15

中国(China)

[注释]

The setting will be restored and not lost
even restart the machine.

[默认值]

n = 0

[参考]

           

US ESC
US
m n
选择/取消汉字模式(m= 0xFE)

n

Character code

0

PC437:Standard-Europe

European standard

1

Katakana

Japanese

2

PC850:Multilingual

Multi-language

3

PC860:Portuguese

Portugal

4

PC863:Canadian-French

Canadian French

5

PC865:Nordic

North Europe

6

West-Europe

West Europe

7

Greek

Greek

8

Hebrew

Hebrew

9

PC755:East-Eruope

East Europe

10

Iran

Iran

16

WPC1252

17

PC866:Cyrillic#2

Yugoslavia

18

PC852:Latin2

Latin

19

PC858

20

Baltic

Baltic

[名称]

Select/
Cancel Chinese character mode

[格式]

ASCII

US          ESC        US               m                 n

Hex

1F           1B           1F                FE                n

Decimal

31           27            31                254              n

[范围]

0≤n≤255

[描述]

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

1/0

HEX

Decimal

功能

0

0

00

0

汉字模式有效

1

04

1

汉字模式无效

1-7

-

-

-

未定义

[注释]

The setting will be restored and not lost
even restart the machine.

[默认值]

n = 0

[参考]

                 

US ESC
US
m n
选择国际扩展字符码表(m= 0xFF)

[名称]

Select
character code
table

[格式]

ASCII

US           ESC             US             m                   n

Hex

1F            1B                1F              FF                  n

Decimal

31            27                 31              255                n

[范围]

0 ≤ n
≤ 10, 16
≤ n ≤20

[描述]

从下列表中选择由n确定的国际扩展字符表。Select the character code by the N value

(软件版本V3.0以下)

(软件版本V3.0以上)

n

Character code

0

PC437:Standard-Europe

European standard

1

Katakana

Japanese

             

2

PC850:Multilingual

Multi-language

3

PC860:Portuguese

Portugal

4

PC863:Canadian-French

Canadian French

5

PC865:Nordic

North Europe

13

PC857: Turkish

14

PC737: Greek

15

PC928: Greek

16

WPC1252

17

PC866:Cyrillic#2

Yugoslavia

18

PC852:Latin2

Latin

19

PC858

33

WPC775: Baltic
Rim

Baltic

34

PC855: Cylillic

36

PC862: Hebrew

37

PC864: Arabic

46

WPC1251: Cyrillic

47

WPC1253: Greek

48

WPC1254: Turkish

49

WPC1255: Hebrew

50

WPC1256: Arabic

51

WPC1257: Baltic Rim

[注释]

The setting will be restored and not lost
even restart the machine.

[默认值]

n = 0

[参考]

US ESC
US
r m ( d0 d1 d2 d3 )
改写印机寿命记录数据

[名称]

[格式]

ASCII

US          ESC        US        r               (             d0
d1 d2 d3       )

Hex

1F           1B           1F         72            28          d0 d1
d2 d3       29

Decimal

31           27            31         114         40          d0 d1
d2 d3       41

[范围]

0≤d0、d1、d2、d3≤255

[描述]

根据m的值,按以下方法改写寿命记录数据:

m

记录数据类型

表示

1,49

钱箱打开次数

(D0<<24)+ (D1<<16)+ (D2<<8)+D3 次

2,50

打印总长度

(D0<<24)+ (D1<<16)+ (D2<<8)+D3mm

3,51

总切刀次数

(D0<<24)+ (D1<<16)+ (D2<<8)+D3 次

[注释]

*    改写后,打印机关机,数据将不保存

             

ESC/POS 控制指令的更多相关文章

  1. ESC/POS打印控制命令

    0x00. Command Notation [Name]                        The name of the command. [Format]               ...

  2. 18、ESC/POS指令集在android设备上使用实例(通过socket)

    网上关于通过android来操作打印机的例子太少了,为了方便更多的开发同仁,将近日所学分享一下. 我这边是通过android设备通过无线来对打印机(佳博58mm热敏式-58130iC)操作,实现餐厅小 ...

  3. c# 小票打印

    c# 在进行小票打印时大致有三种方法. 1. 使用水晶报表进行打印.可以参考:https://www.cnblogs.com/aitong/p/10717786.html 2. 在 PrintDocu ...

  4. 通过驱动向打印机发送一段(ESC)控制指令

    这个功能看起来挺奇葩的, 写这个是因为有客户在使用驱动连接票据打印机, 但是又要开钱箱, 驱动里只能每张单据都开钱箱, 而这个打印机又不是只打印结帐单 所以就需要用软件控制打印机开钱箱 票据打印机一般 ...

  5. 怎样做出通用的pos小票打印程序

    POS小票打印机分为热敏和针式俩种. 打印纸的宽度分为58毫米.76毫米和80毫米三种. 打印接口分为:串口.并口.USB和网口(以太网). 热敏打印机速度较快,打印的时候噪音少,针打可以使用多联纸自 ...

  6. 让 Odoo POS 支持廉价小票打印机

    为了测试 Odoo 在实际业务中的实施,我们开了一家(马上要开第二家分店)猪肉店.由于预算有限,在实施 Odoo PoS 的时候采购了一台价格为 85 元的爱宝热敏打印机,结果连上 Odoo Posb ...

  7. android 控制POS机图文打印(二)

    上一篇文章结束了ESC/POS的指令集,没看过的可以去看一下,可以当作工具文档来使用的 android 控制POS机图文打印(一) 这一篇正式介绍如何使用POS机来打印图文信息. 首先介绍一下,ESC ...

  8. Atitit.收银系统pos 以及打印功能的行业标准

    Atitit.收银系统pos 以及打印功能的行业标准 1. ESC指令序列 Escape指令序列不同于ESC/POS指令 1 2. 打印标准OPOS POSPrinter 与 CashDrawer 驱 ...

  9. Java 实现 POS 打印机无驱打印

    来源:https://www.ibm.com/developerworks/cn/java/j-lo-pos/index.html 行业需求 我们是一家专业做酒店餐饮软件的公司,餐饮软件一个重要的功能 ...

随机推荐

  1. SVN下载地址及注意事项

    SVN下载地址:VisualSVN:http://www.visualsvn.com/server/download     服务器端(添加仓库和用户)TortoiseSVN:http://torto ...

  2. 用JS实现省市二级联动

    一.需求分析 我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 二.技术分析 使用事件(onchange) 使用一个二 ...

  3. SQL server 查询语句优先级-摘抄

    SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...

  4. Window 7 Professional 多语言设置

    1. 正常情况下,WINDOW系统只提供企业和旗舰版的语言切换的界面设置,其他版本没有. 2. 首先下载语言包,然后解压待用. 3. 以管理员身份运行命令窗口,如下输入: 4. 上面完成后,下载 ht ...

  5. C# LINQ(8)

    回顾之前的代码都是LINQ自行推断类型.其实LINQ在查询的结束是可以动态创建类型. , , , , , , , , , , }; var list = from num in intArray &a ...

  6. C# 多态(2)

    接上面讲 我们知道虚方法,和重写方法. 但是有没有发现 override和new的作用是差不多的. 但为什么还要单独写出来两个呢? 首先,咱们要明白一个问题,继承是具有线性传播的. class Fat ...

  7. python 中如何判断list中是否包含某个元素

    在python中可以通过in和not in关键字来判读一个list中是否包含一个元素 theList = ['a','b','c'] if 'a' in theList: print 'a in th ...

  8. linux操作之文本编辑器

    1.文本编辑器的作用 编辑和修改系统中的那些以文本形式存在的文件(特别是各种配置文件),也可以用于 编写程序代码 2.linux下的常见编辑器 nano.Emacs.gedit.vim等 3.vim三 ...

  9. 190221协程与IO模型

    一.协程 又称微线程 协程是一种用户态的轻量级的线程 在单线程下实现的并发,例如:yield 优点: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销 方便切换控制流,简化编程模型 高并发,高扩 ...

  10. 大型php网站性能和并发访问优化方案(转载自php中文网)

               网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎 ...