本文由 資源共享網 – ziyuan 發布,轉載請注明出處,如有問題請聯系我們![免費]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 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/1HexDecimal功能0 字符高度選擇,見表 2。1234 字符寬度選擇,見表 1。567 |
GS ! n 選擇字符大小

