ESC/POS 控制指令
ESC/POS 控制指令
HT 横向跳格
[名称] |
Horizontal tab |
|
[格式] |
ASCII |
HT |
Hex |
09 |
|
Decimal |
9 |
|
[描述] |
将当前位置移动到下一个跳格位置。 |
|
[注释] |
* 如果下一个跳格位置没有设置,该指令被忽略。 * 如果下一个横向跳格位置超越打印区域,将当前位置设置为[打印宽度+1]。 * 水平跳格位置由指令 ESC D 来设置。 * 如果接收到此命令时当前位置在[打印宽度+1],打印机执行当前行缓冲区满动 作并且将打印位置移到下一行的起始位置。 * 默认值跳格位置是每 8 个标准 ASCII 字符(12×24)字符跳一格。 * 当前行缓冲区满时,打印机打印当前行内容并将打印位置置于下一行的起始位 置。 |
|
[参考] |
ESC D |
LF 打印并走纸一行
[名称] |
Print and line feed |
|
[格式] |
ASCII |
LF |
Hex |
0A |
|
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 |
|||||||
[格式] |
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 |
|||||||
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 |
||||||||
[描述] |
选择由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 不打印。 * 位图数据发送完成后,打印机返回普通数据处理模式。 * 这条指令不受其它打印模式影响 * 数据和要打印点的关系如下: |
||||||||
选择 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 设置的空格。 * 下划线不能作用在字符旋转模式和反显的字符下。 * 当取消下划线模式时,后面的字符不加下划线,下划线的宽度不改变。默认宽 * 改变字符大小不影响当前下划线宽度。 * 下划线选择取消也可以由 |
||||
[默认值] |
n=0 |
||||
[参考] |
ESC ! |
||||
ESC 2 设置默认行高
[名称] |
Select |
|
[格式] |
ASCII |
ESC 2 |
Hex |
1B 32 |
|
Decimal |
27 50 |
|
[描述] |
选择 30 点行高。 |
|
[注释] |
||
[参考] |
ESC 3 |
ESC 3 n 设置行高
[名称] |
Set line |
|
[格式] |
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 |
|
[格式] |
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 |
|
[描述] |
* 该指令将打印位置设置到距当前位置(nL+nH×256)点处。 |
|
[注释] |
* 超出可打印区域的设置将被忽略。 * 打印起始位置从当前位置移动到 N = nL+nH×256 点。 |
|
[参考] |
ESC $ |
ESC a n 选择字符对齐模式
[名称] |
Select |
||||
[格式] |
ASCII |
ESC a n |
|||
Hex |
1B 61 n |
||||
Decimal |
27 97 n |
||||
[范围] |
0 ≤ n ≤ 2;48 ≤ n |
||||
[描述] |
使所有的打印数据按某一指定对齐方式排列。 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 |
|
[描述] |
打印缓冲区里的数据并向前走纸n行(字符行)。 |
|
[注释] |
* 该指令将打印机的打印起始位置设置在行首。 * 该指令不影响由 ESC 2 或 ESC 3 设置的行间距。 * 最大走纸距离为 1016mm,当所设的值大于 1016mm 时,取最大值。 |
|
[参考] |
ESC 2, ESC |
|
GS ! n 选择字符大小
[名称] |
Select |
|||||||||
[格式] |
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 |
|
[格式] |
ASCII |
GS B n |
Hex |
1D 42 n |
|
Decimal |
29 66 n |
|
[范围] |
0 ≤ n |
|
[描述] |
选择/取消黑白反显打印模式。 * 当 n 的最低位为 0 时,取消反显打印。 * 当 n 的最低位为 1 时,选择反显打印。 |
|
[注释] |
* n 只有最低位有效。 * 这条命令对所有字符(除过 HRI 字符)有效。 * 选择反显打印后,由 ESC SP 指令设置的字符间距也反显。 |
* 这条指令不影响位图、自定义位图、条码、HRI 字符以及由 HT,ESC $,ESC \
设定的空白。
* 这条指令不影响行与行之间的空白。
* 黑白反显打印模式比下划线模式优先级高。在黑白反显打印模式选择时,下划
线模式不起作用,取消黑白反显模式后,设定下划线模式才起作用。
[默认值] n = 0
GS H n 选择 HRI 字符的打印位置
[名称] |
Select |
|
[格式] |
ASCII |
GS H n |
Hex |
1D 48 n |
|
Decimal |
29 72 n |
|
[范围] |
0 ≤ n |
|
[描述] |
打印条码时,为HRI字符选择打印位置。 n指定HRI打印位置: * HRI 是对条码内容注释的字符。 |
|
[注释] |
||
[默认值] |
n = 0 |
|
[参考] |
GS k |
|
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 |
|
[描述] |
* 用 nL 和 nH 设置左边距; * 将左边距设置为(nL+nH×256)点。 |
|
[注释] |
* 该命令只有在行首才有效。 * 如果设置超出了最大可用打印宽度,则取最大可用打印宽度。 |
|
[默认值] |
nL = 0, |
|
[参考] |
GS W |
GS W nL nH 设置打印区域宽度
[名称] |
Set printing area |
|
[格式] |
ASCII |
GS W nL nH |
Hex |
1D 57 nL nH |
|
Decimal |
29 87 nL nH |
|
[范围] |
0 ≤ nL ≤ 255 , 0 |
|
[描述] |
* 用 nL 和 nH 设置打印区域宽度; * 将打印区域宽度设置为(nL+nH×256)点。 |
|
[注释] |
* 该命令只有在行首才有效。 * 如果[左边距+打印区宽度]超出可打印区域,则打印区域宽度为可打印区域宽度 |
|
[默认值] |
nL = 76, nH = 2 |
|
[参考] |
GS L |
GS h n 选择条码高度
[名称] |
Select |
|
[格式] |
ASCII |
GS h n |
Hex |
1D 68 n |
|
Decimal |
29 104 n |
|
[范围] |
1 ≤ n |
|
[描述] |
选择条码高度。条码高度为n点。 |
|
[默认值] |
n = 162 |
|
[参考] |
GS k |
①GS k m d1...dk NUL②GS 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 |
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 = |
||||||
5 |
ITF |
1 ≤ k ≤ 255 (偶数) |
48 ≤d ≤57 |
||||||
6 |
CODABAR |
1 ≤ k ≤ 255 |
48 ≤d ≤57, 65 ≤d ≤68, d = |
||||||
② |
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 |
字符>12,太长无 法打印 |
|||||
70 |
ITF |
1 ≤ n≤ 255 (偶数) |
48 ≤d ≤57 |
||||||
71 |
CODABAR |
1 ≤ n≤ 255 |
48 ≤d ≤57 65 ≤d ≤68, d = |
||||||
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 命令设置的行高是多少,走纸距离都与设 定的条码高度相等。 |
||||||||
|
* 这条命令只有在打印缓冲区没有数据时才有效,如果打印缓冲区有数据,该命 令被忽略。 * 打印条码后,将打印位置设置在行首。 * 打印模式设置(如加粗、双重打印、下划线、字符大小、反色以及字符旋转 |
|
[参考] |
GS H, GS h, |
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) = |
GS w n 设置条码宽度
|
[名称] |
Set bar code |
|
[格式] |
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 |
|||||
[描述] |
* 处理二维码数据 * pL, pH 通过 (pL 的总数量。 * cn 指定二维码的类型,固定为 49。 * fn 指定功能指令。 * [parameters]由不同功能指令确定。 |
|||||
fn |
格式 |
功能号 |
功能名 |
|||
65 |
GS ( k pL pH |
165 |
QR 码: 选择模型(无效) |
|||
67 |
GS ( k pL pH |
167 |
QR 码: 设置二维码块大小 |
|||
69 |
GS ( k pL pH |
169 |
QR 码: 选择纠错级别 |
|||
80 |
GS ( k pL pH d1...dk |
180 |
QR 码: 存入二维码数据 |
|||
81 |
GS ( k pL pH |
181 |
QR 码: 打印已存入数据的二维码 |
|||
82 |
GS ( k pL pH |
182 |
QR 码: 获取已存入数据的大小信息 |
|||
[注释] |
获取已存入数据的大小信息命令被发送时,在收到返回数据前,不要发送后续数 据。 |
|||||
[参考] |
<Function 167> GS ( k pL pH cn
fn n(cn = 49, fn =
67)设置二维码块大小
[名称] |
QR Code: Set the size |
|
[格式] |
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 1 ≤ n |
|
[描述] |
* 设置二维码块大小为 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 48 ≤ n |
|||||
[描述] |
* 选择 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 |
|
[格式] |
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 cn 0 k = (pL |
|
[描述] |
* 存入 QR 二维码数据(d1 dk) |
|
[参考] |
<Function 181>
GS
( k pL pH cn
fn m(cn =
49,
fn = 81)打印已存入数据的二维码
[名称] |
QR Code: Print the symbol |
|
[格式] |
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 |
|
[描述] |
* 编码并打印通过 GS ( k<Function 180>存入数据的 QR 二维码 |
|
[注释] |
QR 码打印时,用户必须自行安排空白区域(通过 QR 二维码规范定义的左、右、 上、下空白地域) |
|
[参考] |
汉字字符控制命令 Chinese character control order
FS ! n 设置汉字字符模式 Set print mode for Chinese characters.
[名称] |
Set print mode(s) |
|||||||
[格式] |
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 |
|
[格式] |
ASCII |
FS & |
Hex |
1C 26 |
|
Decimal |
28 38 |
|
[描述] |
选择汉字模式 |
|
[注释] |
* 当选中汉字模式时,打印机判断字符是否为汉字内码,如是汉字内码,先处理 第一字节,然后判断第二字节是否为汉字内码。 * 打印机上电后自动选择汉字模式。 |
|
[参考] |
FS . |
FS - n 选择/取消汉字下划线模式
[名称] |
Turn underline mode |
||||
[格式] |
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 度的字符加下划线。 * 取消下划线模式后,不再执行下划线打印,但原先设置的下划线线宽不会改 * 即使改变字符大小,设定的下划线线宽也不会改变。 * 用 FS!也可选择或取消下划线模式,最后一条指令有效。 |
||||
[默认值] |
n=0 |
||||
[参考] |
FS ! |
||||
FS .取消汉字模式
[名称] |
Cancel |
|
[格式] |
ASCII |
FS . |
Hex |
1C 2E |
|
Decimal |
28 46 |
|
[描述] |
取消汉字模式 |
|
[注释] |
* 当汉字模式被取消时,所有字符都当作 ASCII 字符处理,每次只处理一个字 节。 * 上电自动选择汉字模式。 |
|
[参考] |
FS & |
FS C
n 选择双字节字符编码系统
[名称] |
Select |
||||
[格式] |
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- |
|
[格式] |
ASCII |
FS S n1 n2 |
Hex |
1C 53 n1 n2 |
|
Decimal |
28 83 n1 n2 |
|
[范围] |
0 ≤ n1 ≤ 255 , 0 |
|
[描述] |
分别将汉字的左间距和右间距设置为 n1 点 和 n2 点。 |
|
[注释] |
* 设置倍宽模式后,左右间距也加倍。 ① |
|
[默认值] |
n1 = 0,n2 = 0 |
FS W n 选择/取消汉字倍高倍宽
[名称] |
Turn quadruple-size |
|
[格式] |
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 |
||||
[格式] |
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 |
||||
[默认值] |
n = 0 |
||||
[参考] |
|||||
US ESC
US
m n 选择国际字符集(m=
0xFD)
[名称] |
Select |
||||
[格式] |
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 |
||||
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 |
||||
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 |
||||
[默认值] |
n = 0 |
||||
[参考] |
|||||
US ESC
US
m n 选择/取消汉字模式(m= 0xFE)
|
[名称] |
Select/ |
|||||||
[格式] |
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 |
|||||||
[默认值] |
n = 0 |
|||||||
[参考] |
||||||||
US ESC
US
m n 选择国际扩展字符码表(m= 0xFF)
[名称] |
Select |
|||||
[格式] |
ASCII |
US ESC US m n |
||||
Hex |
1F 1B 1F FF n |
|||||
Decimal |
31 27 31 255 n |
|||||
[范围] |
0 ≤ n |
|||||
[描述] |
从下列表中选择由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 |
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 |
||||
[默认值] |
n = 0 |
||||
[参考] |
US ESC
US
r m ( d0 d1 d2 d3 ) 改写印机寿命记录数据
[名称] |
||||||
[格式] |
ASCII |
US ESC US r ( d0 |
||||
Hex |
1F 1B 1F 72 28 d0 d1 |
|||||
Decimal |
31 27 31 114 40 d0 d1 |
|||||
[范围] |
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 控制指令的更多相关文章
- ESC/POS打印控制命令
0x00. Command Notation [Name] The name of the command. [Format] ...
- 18、ESC/POS指令集在android设备上使用实例(通过socket)
网上关于通过android来操作打印机的例子太少了,为了方便更多的开发同仁,将近日所学分享一下. 我这边是通过android设备通过无线来对打印机(佳博58mm热敏式-58130iC)操作,实现餐厅小 ...
- c# 小票打印
c# 在进行小票打印时大致有三种方法. 1. 使用水晶报表进行打印.可以参考:https://www.cnblogs.com/aitong/p/10717786.html 2. 在 PrintDocu ...
- 通过驱动向打印机发送一段(ESC)控制指令
这个功能看起来挺奇葩的, 写这个是因为有客户在使用驱动连接票据打印机, 但是又要开钱箱, 驱动里只能每张单据都开钱箱, 而这个打印机又不是只打印结帐单 所以就需要用软件控制打印机开钱箱 票据打印机一般 ...
- 怎样做出通用的pos小票打印程序
POS小票打印机分为热敏和针式俩种. 打印纸的宽度分为58毫米.76毫米和80毫米三种. 打印接口分为:串口.并口.USB和网口(以太网). 热敏打印机速度较快,打印的时候噪音少,针打可以使用多联纸自 ...
- 让 Odoo POS 支持廉价小票打印机
为了测试 Odoo 在实际业务中的实施,我们开了一家(马上要开第二家分店)猪肉店.由于预算有限,在实施 Odoo PoS 的时候采购了一台价格为 85 元的爱宝热敏打印机,结果连上 Odoo Posb ...
- android 控制POS机图文打印(二)
上一篇文章结束了ESC/POS的指令集,没看过的可以去看一下,可以当作工具文档来使用的 android 控制POS机图文打印(一) 这一篇正式介绍如何使用POS机来打印图文信息. 首先介绍一下,ESC ...
- Atitit.收银系统pos 以及打印功能的行业标准
Atitit.收银系统pos 以及打印功能的行业标准 1. ESC指令序列 Escape指令序列不同于ESC/POS指令 1 2. 打印标准OPOS POSPrinter 与 CashDrawer 驱 ...
- Java 实现 POS 打印机无驱打印
来源:https://www.ibm.com/developerworks/cn/java/j-lo-pos/index.html 行业需求 我们是一家专业做酒店餐饮软件的公司,餐饮软件一个重要的功能 ...
随机推荐
- SVN下载地址及注意事项
SVN下载地址:VisualSVN:http://www.visualsvn.com/server/download 服务器端(添加仓库和用户)TortoiseSVN:http://torto ...
- 用JS实现省市二级联动
一.需求分析 我们希望在注册页面中添加一个字段(籍贯),当用户选择一个具体的省份,在后面的下拉列表中动态加载该省份下所有的城市.显示的效果如下: 二.技术分析 使用事件(onchange) 使用一个二 ...
- SQL server 查询语句优先级-摘抄
SQL 不同于与其他编程语言的最明显特征是处理代码的顺序.在大数编程语言中,代码按编码顺序被处理,但是在SQL语言中,第一个被处理的子句是FROM子句,尽管SELECT语句第一个出现,但是几乎总是最后 ...
- Window 7 Professional 多语言设置
1. 正常情况下,WINDOW系统只提供企业和旗舰版的语言切换的界面设置,其他版本没有. 2. 首先下载语言包,然后解压待用. 3. 以管理员身份运行命令窗口,如下输入: 4. 上面完成后,下载 ht ...
- C# LINQ(8)
回顾之前的代码都是LINQ自行推断类型.其实LINQ在查询的结束是可以动态创建类型. , , , , , , , , , , }; var list = from num in intArray &a ...
- C# 多态(2)
接上面讲 我们知道虚方法,和重写方法. 但是有没有发现 override和new的作用是差不多的. 但为什么还要单独写出来两个呢? 首先,咱们要明白一个问题,继承是具有线性传播的. class Fat ...
- python 中如何判断list中是否包含某个元素
在python中可以通过in和not in关键字来判读一个list中是否包含一个元素 theList = ['a','b','c'] if 'a' in theList: print 'a in th ...
- linux操作之文本编辑器
1.文本编辑器的作用 编辑和修改系统中的那些以文本形式存在的文件(特别是各种配置文件),也可以用于 编写程序代码 2.linux下的常见编辑器 nano.Emacs.gedit.vim等 3.vim三 ...
- 190221协程与IO模型
一.协程 又称微线程 协程是一种用户态的轻量级的线程 在单线程下实现的并发,例如:yield 优点: 无需线程上下文切换的开销 无需原子操作锁定及同步的开销 方便切换控制流,简化编程模型 高并发,高扩 ...
- 大型php网站性能和并发访问优化方案(转载自php中文网)
网站性能优化对于大型网站来说非常重要,一个网站的访问打开速度影响着用户体验度,网站访问速度慢会造成高跳出率,小网站很好解决,那对于大型网站由于栏目多,图片和图像都比较庞大,那该怎 ...