ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
## 打印機常用ESC/POS指令集 U7型號,硬件版本>=3.0支持ESC/POS指令,有ESC/POS指令開發基礎的開發者可直接使用ESC/POS指令集,如不熟悉則建議直接使用【附錄】---【排版引擎】中的封裝指令 * LF 打印並走紙壹行 | 內容 | 說明 | | --- | --- | | [格式] | ASCII:LF <br> Hex:0A <br> Decimal:10 | | [描述] | · 標準模式下打印緩沖區內數據並走紙壹行 | | [註釋] | · 該指令將當前位置置於行首。 | * ESC ! n 選擇打印模式 | 內容 | 說明 | | --- | --- | | [格式] | ASCII:ESC ! n <br>Hex:1B 21 n <br>Decimal:27 33 n | | \[範圍\] | 0≤n≤255 | | \[描述\] | 設根據n的值設置字符打印模式 <br>n=0字體標準大小 <br>n=16字體倍高 <br>n=32字體倍寬 <br>n=48字體倍高寬 | | \[註釋\] | · 所有字符以底端對齊。 <br>· 對英數字符和漢字同時有效。 | | \[默認值\] | n=0 | * ESC a n 選擇對齊方式 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:ESC a n <br>Hex:1B 61 n <br>Decimal:27 97 n | | \[範圍\] | 0≤n≤2 或 48≤n≤50 | | \[描述\] | 將壹行數據按照指定的位置對齊如下n用以選擇對齊方式: <br>0,48 左對齊 <br>1,49 居中 <br>2,50 右對齊 | | \[註釋\] | · 標準模式下僅在壹行的開始處時,該命令才有效。 <br>· 該命令在打印區域執行對齊。 | | \[默認值\] | n=0 | * GS V m 切刀裁紙,自動切刀型號有效 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS V m <br>Hex:1D 56 m <br>Decimal:29 86 m | | \[範圍\] | m=1, 49 | | \[描述\] | · 選擇壹種切刀裁紙操作 | | \[註釋\] | · 依據所裝的自動裁紙器類型的不同,裁紙狀態也不同。 <br>· 僅在壹行開頭處理該命令時,該命令有效。 <br>· 只有部分裁紙,沒有完全裁紙。 | * GS h n 選擇條碼高度 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS h n <br>Hex:1D 68 n <br>Decimal:29 104 n | | \[範圍\] | 1≤n≤255 | | \[描述\] | · 設置條碼的縱向高度。n設定垂直方向的點數(0.125mm/點) | | \[默認值\] | n= 162 | * GS w n 設置條形碼寬度 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS w n <br>Hex:1D 77 n <br>Decimal:29 119 n | | \[範圍\] | 1≤n≤6 | | \[描述\] | · 設置條形碼水平尺寸 | | \[默認值\] | n=3 | * GS k m n d1…dn 打印條碼 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS k m n d1…dk <br>Hex:1D 6B m n d1…dk <br>Decima:29 107 m n d1…dk | | \[範圍\] | 65≤ m ≤89(d1…dn長度取決於使用的條形碼系統) | | \[描述\] | · 選定條形碼系統並打印。 | | \[註釋\] | · n用來指示條碼數據的個數,打印機將其後邊n字節數據作為條碼數據處理。 <br>· 如果n超出了指定範圍,則打印機停止該命令的處理,並將後續數據作為普通數據處理。 <br>· 如果條碼數據d超出了規定的範圍,該命令無效。 <br>· 如果條碼橫向超出了打印區域,無效。 <br>· 這條命令不管由ESC2或ESC3命令設置的行高是多少,走紙距離都與設置 的條碼高度相等。 <br>· 這條命令只有在打印緩沖區沒有數據時才有效,如果打印緩沖區有數據,該命令被忽略。 <br>· 打印條碼後,將打印位置設置在行首。 | m選定條形碼系統如下: | m | 條形碼系統 | 數據長度 | 字符個數 | 字符 | 範圍 | | --- | --- | --- | --- | --- | --- | | 65 | UPC-A | 固定 | 11≤n≤12 | 0~9 | 48≤d≤57 | | 66 | UPC-E | 固定 | 6≤n≤7 | 0~9 | 48≤d≤57 | | 67 | JAN13(EAN13) | 固定 | 12≤n≤13 | 0~9 | 48≤d≤57 | | 68 | JAN8(EAN8) | 固定 | 7≤n≤8 | 0~9 | 48≤d≤57 | | 69 | CODE39 | 可變 | 1≤n≤64 | 0~9, A~Z, SP, $, <br>%, \*, +, -, ., / | 48≤d≤57, 65≤d≤90, 32, <br>36, 37, 43, 45, 46, 47 | | 70 | Code 2 of 5 Interleaved | 可變 | 2≤n≤64 <br>(偶數) | 0~9 | 48≤d≤57 | | 71 | CODABAR | 可變 | 1≤n | 0~9, A~D, a~d, <br>$, +, -, ., /, : | 48≤d≤57, 65≤d≤68, 97≤d≤100, <br>36, 43, 45, 46, 47, 58, <br>65≤d1≤68, 97≤d1≤100, <br>65≤dk≤68, 97≤dk≤100 | | 72 | CODE93 | 可變 | 1≤n≤64 | | 73 | CODE128 | 可變 | 2≤n≤64 | | 81 | Code 2 of 5 Matrix | 可變 | 1≤n≤64 | 0~9 | 48≤d≤57 | | 82 | Code 2 of 5 Industrial | 可變 | 1≤n≤64 | 0~9 | 48≤d≤57 | | 83 | Code 2 of 5 IATA | 可變 | 1≤n≤64 | 0~9 | 48≤d≤57 | | 84 | Code 2 of 5 Datalogic | 可變 | 1≤n≤64 | 0~9 | 48≤d≤57 | | 85 | CODE11 | 可變 | 1≤n≤64 | 0~9, – | 48≤d≤57,45 | | 86 | CODE39 xtended | 可變 | 1≤n≤64 | | 87 | GS1 DataBar | 固定 | n=13 | 0~9 | 48≤d≤57 | | 88 | GS1 DataBar Expanded | 可變 | | 89 | MSI Plessey | 可變 | 1≤n≤64 | 0~9 | 48≤d≤57 | * GS v 0 m xL xH yL yH d1….dk 打印光柵位圖 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS v 0 m xL xH yL yH d1…dk <br>Hex:1D 76 30 m xL xH yL yH d1…dk <br>Decimal:29 118 48 m xL xH yL yH d1…dk | | \[範圍\] | 0 ≤ m ≤ 3, 48 ≤ m ≤ 51 <br>0 ≤ xL ≤ 255 <br>0 ≤ xH ≤ 255 ; 在此 1≤(xL+xH×256)≤128 <br>0 ≤ yL ≤ 255 <br>0 ≤ yH ≤ 8 ; 在此 1≤(xL+xH×256)≤4095 <br>0 ≤ d ≤ 255 <br>k = (xL+xH×256) × (yL+yH×256);(k≠0) | | \[描述\] | • m,設定光柵位圖模式 <br>• xL, xH,設定位圖水平方向數據字節數(xL+xH×256) <br>• yL, yH,設定位圖垂直方向數據字節數 (yL+yH×256) | | \[註釋\] | • 標準模式下,打印緩沖區中有無數據時該命令都有效。 <br>• 對於光柵位圖打印,該命令不受打印模式影響(字符大小、粗體、重 疊、顛倒打印下劃線、反白打印模式等)。 <br>• 打印區域寬度受限於打印機最小寬度,當打印區域大於最小寬度,則打印區域以外的數據會被讀入且被逐點丟棄。 <br>• ESC a (設定對齊方式)設置對於光柵位圖也有效。 <br>• d指明位圖數據。將要打印的點設定為1,不打印點設定為0。 | #### m 值設定模式如下:(dpi: 每25.4 毫米 {1英寸}打印點數) | m | 模式 | 垂直點密度 | 水平點密度 | | --- | --- | --- | --- | | 0, 48 | 普通 | 203.2dpi | 203.2dpi | | 1, 49 | 倍寬 | 203.2dpi | 101.6dpi | | 2, 50 | 倍高 | 101.6dpi | 203.2dpi | | 3, 51 | 四倍大小 | 101.6dpi | 101.6dpi | #### 光柵位圖指令示例: > • 假設壹張水平方向32點、垂直方向32點的圖,要求以4倍大小打印,那麽就可以得到壹張64點\*64點圖片: > 此時需要:m=3,xL=4,xH=0,yL=32,yH=0,dk數據排列如下圖 > ![](https://img.kancloud.cn/62/74/6274220edf1bd9ffc0feadfcd95c023b_1286x472.png) > • 格式數據如下: > GS v 0 3D 4D 0D 32D 0D FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH FFH 00H FFH 00H 00H FFH 00H FFH LF LF LF LF > • 轉換後十六進制數據如下: > 1D76300304002000FF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FFFF00FF0000FF00FF0A0A0A0A * GS ( k pL pH cn fn n1 n2 (cn=49,fn=65) 選擇QR CODE模式 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS ( k pL pH cn fn n1 n2 <br>Hex:1D 28 6B pL pH cn fn n1 n2 <br>Decima:29 40 107 pL pH cn fn n1 n2 | | \[範圍\] | (pL+pH×256)=4,(pL=4,pH=0) <br>cn = 49 <br>fn = 65 <br>n1 = 49, 50 <br>n2 = 0 | | \[描述\] | • 選擇 QR CODE 的模式。 | | \[默認值\] | n1 = 50,n2 = 0 | #### •  選擇 QR CODE 的模式n1說明如下: | n1 | 功能 | | --- | --- | | 49 | 選擇計算算法為模式 1 | | 50 | 選擇計算算法為模式 2 | * GS ( k pL pH cn fn n (cn=49,fn=67) 設置QR CODE模塊大小 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS ( k pL pH cn fn n <br>Hex:1D 28 6B pL pH cn fn n <br>Decima:29 40 107 pL pH cn fn n | | \[範圍\] | (pL+pH×256)=3 (pL=3,pH=0) <br>cn = 49 <br>fn = 67 <br>1 ≤n≤16 | | \[描述\] | • 設置 QR CODE 的模塊大小n點 | | \[默認值\] | n = 0 | * GS ( k pL pH cn fn n ( cn=49,fn=69) 設置QR CODE糾錯等級 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS ( k pL pH cn fn n <br>Hex:1D 28 6B pL pH cn fn n <br>Decima:29 40 107 pL pH cn fn n | | \[範圍\] | (pL+pH×256)=3(pL=3,pH=0) <br>cn = 49 <br>fn = 69 <br>48≤ n ≤ 51 | | \[描述\] | • 設置 QR CODE 的糾錯等級。 | | \[默認值\] | n=48 | #### •  設置 QR CODE 的糾錯等級n如下: | n | 功能 | 參考:可恢復字碼比例 | | --- | --- | --- | | 48 | 選擇糾錯等級 L | 7% | | 49 | 選擇糾錯等級 M | 15% | | 50 | 選擇糾錯等級 Q | 25% | | 51 | 選擇糾錯等級 R | 30% | * GS ( k pL pH cn fn m d1..dk ( cn=49,fn=80) 存貯QR CODE數據到符號存貯區 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS ( k pL pH cn fn m d1..dk <br>Hex:1D 28 6B pL pH cn fn m d1..dk <br>Decima:29 40 107 pL pH cn fn m d1..dk | | \[範圍\] | 4 ≤(pL + pH ×256) ≤ 7092 (0 ≤pL≤255 , 0≤pH ≤27 ) <br>cn = 49 <br>fn = 80 <br>m = 48 <br>0 ≤ d ≤ 255 <br>K = (pL + pH × 256) – 3 | | \[描述\] | • 存貯 QR CODE 的符號數據(d1..dk)到符號存貯區。 | * GS ( k pL pH cn fn m ( cn=49,fn=81) 打印QR CODE在符號存貯區的符號數據 | 內容 | 說明 | | --- | --- | | \[格式\] | ASCII:GS ( k pL pH cn fn m <br>Hex:1D 28 6B pL pH cn fn m <br>Decima:29 40 107 pL pH cn fn m | | \[範圍\] | (pL+pH×256)=3 (pL=3 ,pH=0) <br>cn = 49 <br>fn = 81 <br>m = 48 | | \[描述\] | • 編碼並打印用 GS ( k (fn=80) 存貯在符號存貯區的 QR CODE 符號數據。 | | \[註釋\] | • 使用者必須留出打印 QR CODE 的足夠的安全空白區域(包括由 QR CODE 符號規範中定義的上下、左右邊空)。 |