打印控制命令 5.1.打印控制命令 5.1.1 概述 BS-210BM 提供了ESC/POS命令集。下面將對每個命令進行說明。每個命令的說明包括格式和解釋兩部分。格式部分提供了命令的ASCII碼、十進制碼和十六進碼三種格式,解釋部分描述命令的功能。三種命令的格式是等價的,用戶可按照需要選擇任一種。 5.1.2 各個命令的描述格式如下: 打印命令 功能 格式: ASCII: 以標准ASCII字符序列表示 十進制: 以十進制數字序列表示 十六進制: 以十六進制數字序列表示 說明:該命令功能和使用說明。 5.1.3 命令說明 HT 水平制表 格式: ASCII: HT 十進制: 09 十六進制: 09 說明: 打印位置進行到下一水平制表位置。 如果當前打印位置超過了最后一個水平制表位置,則HT命令不被執行。 水平制表位置由 ESC D命令設置。 LF 打印並換行 格式: ASCII: LF 十進制: 10 十六進制: 0A 說明: 打印存放在行編輯緩存中的一行數據並按當前設定的行距向前走紙一行。ESC2,ESC3指令可設定行距的長短。 如果行編輯緩存空,則只按當前設定的行距向前走紙一行。 CR 打印回車 格式: ASCII: CR 十進制: 13 十六進制: 0D 說明: 當打印在行編輯緩存中的一行數據之后,不進行走紙操作。 ESC SP 設置字符右間距 格式: ASCII: ESC SP n 十進制: 27 32 n 十六進制: 1B 20 n 說明: 以半點為設定單位(1/144英寸),設置字符右邊間距為n個半點距。 默認值n=0。 ESC ! 設置字符打印方式 格式: ASCII: ESC ! n 十進制: 27 33 n 十六進制: 1B 21 n 說明: 0≤n≤255 ESC ! n是綜合性的字符打印方式設置命令,用於選擇打印字符的大小和下划線。 打印參數n的每位定義為: 位 功能 值 0 1 0 字模選擇 7×9 5×7 1 無定義 2 無定義 3 無定義 4 倍 高 取消 設定 5 倍 寬 取消 設定 6 無定義 7 下划線 取消 設定 默認值n=0, ESC % 允許/禁止用戶自定義字符 格式: ASCII: ESC % n 十進制: 27 37 n 十六進制: 1B 25 n 說明: 參數n為一個字節,只有最低位有效。 當n=<*******1>B時,選擇用戶自定義字符集; 當n=<*******0>B時,選擇內部字符集。 0≤n≤255,默認值n=0。 ESC & 設置用戶自定義字符 格式: ASCII: ESC & y n m x d1 d2……db 十進制: 27 38 y n m x d1 d2……db 十六進制: 1B 26 y n m x d1 d2……db 說明: 該命令用於自定義字符。各參數為: y:字符的縱向字節數。這里取 y=1,2。 n:自定義字符集的起始ASCII碼,n≥32。 m:自定義字符集的終止ASCII碼,m≤127。自定義字符個數為m-n+1,最多可定義96個字符。 當只有一個自定義字符時,取m=n。 a:自定義字符的水平方向的點數。 d1 d2……db:自定義字符的數據。每個字符 y×x個字節,m-n+1個自定義字符共有: (y×x)×(m-n+1)個字節。 每個自定義字符數據的格式: d1 d3 … d(y×x)×(m-n+1)-1 d2 d4 … d(y×x)×(m-n+1) ESC * 設置圖形點陣 格式: ASCII: ESC * m n1 n2 D1,D2 … Dk 十進制: 27 42 m n1 n2 D1,D2 … Dk 十六進制: 1B 2A m n1 n2 D1,D2 … Dk 說明: 該命令用來設置點陣圖形模式(m)和橫向圖形點陣。 m = 0,1: 表示打印密度。 0≤n1≤255,0≤n2≤1,0≤Dk≤255,k= n1+ n2×256。 n1,n2為兩位十六進制數,n1這低字節,n2這高字節,k= n1+ n2×256,表示該命令下載的要打印圖形的橫向點數,該值應小於打印機的最大行寬打印點數。如果下送的點圖數據超出一行的最大行寬打印點數時,超出的部分被忽略。 m 垂直方向點數 點密度 最大點數 圖形打印模式 0 8 單密度 210 相鄰點打印 1 8 雙密度 420 相鄰點不打印 Dk 定義為: ESC 2 設定1/6英寸換行量 格式: ASCII: ESC 2 十進制: 27 50 十六進制: 1B 32 說明: 此指令將打印機的換行量設定為1/6英寸。 ESC 3 設定 n/144英寸換行量 格式: ASCII: ESC 3 n 十進制: 27 51 n 十六進制: 1B 33 n 說明: 此指令將打印機的換行量設定為 n/144英寸。 n=1 - 255。 ESC 〈 打印頭歸位 格式: ASCII: ESC 〈 十進制: 27 60 十六進制: 1B 3C 說明: 執行該指令后,打針頭會回到原位(home的位置)。 ESC @ 初始化打印機 格式: ASCII: ESC @ 十進制: 27 64 十六進制: 1B 40 說明: 該命令初始化打印機:使打印機恢復到最初的聯機狀態,清除以前留下的程序。 ESC D 設置水平制表值 格式: ASCII: ESC D Nk NUL 十進制: 27 68 Nk 0 十六進制: 1B 44 Nk 00 說明: 設置水平制表位置為:N1,N2,…,Nk。 其中: 0≤Nk≤42,0≤k≤32。k為總共定義的水平跳格數,不超過32個。 Nk定義為以打印起始位置開始計算的列數,實際位置為(k-1)×字符寬度(10)。 Nk的默認值為:0,1,2,3,… 31。 NUL加在最后,表示該命令結束。 ESC D NULL 消除所有的水平制表位置 格式: ASCII: ESC D NUL 十進制: 27 68 0 十六進制: 1B 44 0 說明: ESC D NUL命令消除所有的水平制表位置,之后再執行的HT命令將無效。 ESC J 執行n/144英寸走紙 格式: ASCII: ESC J n 十進制: 27 74 n 十六進制: 1B 4A n 說明: 進紙n/144英寸,n值應為0到255之間的任意值。 若當時有打印內容則在打印完成后執行走紙。 ESC R 選擇國際字符集 格式: ASCII: ESC R n 十進制: 27 82 n 十六進制: 1B 52 n 說明: ESC R用於選擇11個不同國家的不同ASCII字符集。 n=0~10。默認值為0,選擇U.S.A方式。 ESC U 設置/取消單向打印 格式: ASCII: ESC U n 十進制: 27 85 n 十六進制: 1B 55 n 說明: 設置/取消單向打印。n=0~255,僅最低位有效。 當n=<×××××××1>B時,在字符方式下設置為准雙向打印,在圖形方式下設置為單向打印。 當n=<×××××××0>B時,設置雙向打印。 默認值n=0。 ESC C 設定檢測黑標的范圍 格式: ASCII: ESC C n 十進制: 27 67 n 十六進制: 1B 43 n 說明: 以當前的行距為單位,以行數來定義檢測黑標的范圍,默認值為4英寸。 ESC FF 執行走紙到黑標位置 格式: ASCII: ESC FF 十進制: 27 12 十六進制: 1B 0C 說明: 該命令使打印機在一定長度范圍尋找黑標,並在黑標位置停下。 若無黑標或檢測不到黑標,那么要走完這段長度后停下。 若當前就在黑標位置,那么將不會有走紙動作。 ESC c 4 設定缺紙時停止打印 格式: ASCII: ESC c 4 n 十進制: 27 99 52 n 十六進制: 1B 63 34 n 說明: 設置/取消紙檢測器檢測到缺紙時停止打印。 N=0~255,僅最低位有效。 當n=<*******1>B時,紙檢測器檢測到缺紙時停止打印。 當n=<*******0>B時,紙檢測器檢測到缺紙時不停止打印,以便用戶可以將最后一張單據打印至頁底。 默認值n=1。 ESC c 5 n 允許/禁止走紙按鍵 格式: ASCII: ESC c 3 n 十進制: 27 99 33 n 十六進制: 1B 63 35 n 說明: 當n=<*******1>B時,禁止紙按鍵。 當n=<*******0>B時,允許紙按鍵(默認值)。 ESC d 打印並進紙n字符行 格式: ASCII: ESC d n 十進制: 27 100 n 十六進制: 1B 64 n 說明: 打印行緩存里的數據並向前走紙n行。 n=0~255。 ESC i 全切紙命令 格式: ASCII: ESC i 十進制: 27 105 十六進制: 1B 69 說明: 打印機控制切紙刀全切紙一次。 ESC j n 退紙n/144英寸 格式: ASCII: ESC j n 十進制: 27 106 n 十六進制: 1B 6A n esc/pos打印指令(二) 作者:紅梅 時間:2005-5-16 1:48:00 第 11 樓 說明: 當執行該指令時退紙n/144英寸(nx0.176mm)。 n=0~255。 ESC m 部分切紙命令 格式: ASCII: ESC m 十進制: 27 109 十六進制: 1B 6D 說明: 打印機控制切紙刀部分切紙一次。 ESC p 產生錢箱驅動脈沖 格式: ASCII: ESC p m n1 n2 十進制: 27 112 m n1 n2 十六進制: 1B 70 m n1 n2 說明: 產生錢箱驅動脈沖。 m=0,1,48,49 0≤n1≤n2≤255 驅動脈沖形式為: 解釋: 打開錢箱脈沖時間為n1×2毫秒。 關閉錢箱脈沖時間為n2×2毫秒。 ESC t 選擇字符集 格式: ASCII: ESC t n 十進制: 27 116 n 十六進制: 1B 74 n 說明: 選擇中文方式下的ASCII字符集。 0: 選擇7×9字符集(默認值)。 1: 選擇7×7字符集。 FS ! 漢字綜合選擇 格式: ASCII: FS ! n 十進制: 28 33 n 十六進制: 1C 21 n 說明: n的各位的定義如下: 位 0 1 0 無定義 1 無定義 2 寬正常 漢字倍高 3 高度正常 漢字倍高 4 無定義 5 無定義 6 無定義 7 無下划線 漢字下划線 FS & 進入漢字打印方式 格式: ASCII: FS & 十進制: 28 38 十六進制: 1C 26 說明: 打印機接收到該命令后,結束本行打印,從下一行開始轉為漢字打印方式。 在漢字打印方式時,打印機接收的代碼為2字節的標准機內碼(均為大於9FH的碼),根據該代碼尋找打印機的硬漢字字模,打印國標15×16點陣的漢字。 打印機接收到單字節的ASCII碼(20H-9FH)時,將打印出相應的5 ×7或7×7點陣字符。 FS ~ S 選擇漢字打印速度 格式: ASCII: FS ~ S n 十進制: 28 126 83 n 十六進制: 1C 7E 53 n 說明: 此功能設置漢字打印模式時的打印速度,當n=1時為漢字高速打印,橫向分辨率為144 DPI,縱向分辨率為72 DPI; 當n=0時為正常打印模式,橫向分辨率為144 DPI,縱向分辨率為144 DPI 此模式為默認模式。 FS · 退出漢字打印方式 格式: ASCII: FS · 十進制: 28 46 十六進制: 1C 2E 說明: 打印機接收到該命令后,退出漢字打印方式,轉為正常的西文打印方式。 FS 2 用戶自定義漢字 格式: ASCII: FS 2 a1 a2 d1 d2 d3 …d32 十進制: 28 50 248 a2 d1 d2 d3 …d32 十六進制: 1C 32 F8 a2 d1 d2 d3 d32 說明: 此功能為用戶自定義漢字。 a1=F8(十六進制) a2為A1與FE(十六進制)之間任意值。 因漢字代碼為二字節,a1為第一字節,a2為第二字節,可定義94個漢字。 FS S 設定全角漢字字間距 格式: ASCII: FS S n1 n2 十進制: 28 83 n1 n2 十六進制: 1C 53 n1 n2 說明: 0≤n1,n2≤127,n1決定字符左邊間距,n2決定字符右邊間距。 單位是1/160英寸,電源打開時的初始設定為n1=0,n2=2。 FS T 設定半角漢字字間距 格式: ASCII: FS T n1 n2 十進制: 28 84 n1 n2 十六進制: 1C 54 n1 n2 說明: 0≤n1,n2≤127,n1決定字符左間距,n2決定字符右間距。 單位是1/180英寸,電源打開時的初始設定為n1=0,n2=2。 GS ( F pL pH a m nL nH 設置黑標定位偏移量 格式: ASCII: GS ( F pL pH a m nL nH 十進制: 29 40 70 pL pH a m nL nH 十六進制: 1D 28 46 pL pH a m nL nH 說明: 該命令用於選擇黑標定位控制允許,且設置切/撕紙位置或起始打 印位置相對於黑標檢測的偏移量。該值以點數計算。 命令相關參數為: pL+(pHx256)=4 即 pL=4,pH=0 1≤a≤2, m=0,48 0≤(nL+nHx256)<1700 l a 用來選擇設置切/撕紙位置或起始打印位置的偏移量。 a 功能 1 設置起始打印位置相對於黑標檢測位置的偏移量 2 設置切/撕紙位置相對於黑標檢測位置的偏移量 l m=0或48,選擇偏移量為前進紙方向計算; l nL,nH設置的偏移量對應實際距離為(nL+nHx256)×0.176mm l 只有執行此命令后GS FF 和 GS V命令有關黑標定位操作方有效; l 設置起始打印位置偏移量(a=1)在執行GS FF 命令時有效; l 設置切/撕紙位置偏移量(a=2)在執行GS V m 命令時有效; l 默認值為nL=nH=0,即黑標檢測開關檢測到黑標時,當前票面上對應打印頭的位置為設定的起始打印位置,當前票面上對應切/撕紙口的位置為設定的切/撕紙位置。 l 關於切/撕紙位置偏移量和起始打印位置偏移量的計算說明 1、 切/撕紙位置到黑標印刷位置的距離L與打印機的固有機械值L0相同,而且切/撕紙位置到起始打印位置的距離Q與打印機構固定的機械值Q0相同時,即用GS( F命令所設置的偏移量均為0。 2、 當黑標印刷位置到切/紙位置的距離L小於打印的機械值L0時,GS( F命令的切/撕紙位置偏移量計算為: 切/撕紙位置偏移量=(L0—L)/0.176(點數) 3、 當黑標印刷位置到切/撕紙位置的距離L大於打印機的機械值L0時,GS( F命令的切 /撕紙位置偏移量計算為: 切/撕紙位置偏移量=(L0+相鄰兩黑標間的距離—L)/0.176(點數)。 注意:在設置切/撕紙位置偏移量時,GS 〈 F命令的參數a應為2。 4、 當切/撕紙位置偏移量不為零或每單的起始打印位置到切/撕紙位置的距離Q大於打印機的機械值Q0)時,GS( F命令的切/撕紙位置偏移量計算為: 起始打印位置偏移量=(Q—Q0)/0.176 +切/撕紙位置偏移量。 注意:在設置切/撕紙位置偏移量時,GS 〈 F命令的參數a應為1。 5、 打印結構M—U110(051)的固有機械值 L0=39mm, Q0=11mm, 當打印機構安裝在機殼內,使得撕紙位置和打印起始位置的固有機械值發生改變時 L0=39+△L Q0=11+△L 6、 △L的測量方法如下: 1) 先將空白打印紙裝入打印機械,撕去出紙口上多余的打印紙 2) 給打印機發20個字符“E”,打印在打印紙上 3) 讓打印機發走出足夠長度,測量紙端到打印字符“EEEEEEEEEEEEEEEEEEEE”的上沿距離,該值減去11mm,即為△L。切/撕紙位置起始打印位置 GS FF 送黑標紙至打印起始位置 格式: ASCII: GS FF 十進制: 29 12 十六進制: 1D 0C 說明: 該命令僅在黑標定位控制允許條件(GS ( F pL pH a m nL nH)下有效。 檢測黑標並前送紙至GS( F(a=1)命令設置確定的打印起始位置。 當黑標紙已在當前打印起始位置上,則不執行進紙操作。 GS V m 送黑標紙到切/撕紙位置 格式: ASCII: GS V m 十進制: 29 86 m 十六進制: 1D 56 m 說明: 當m =0,1,48,49時打印機執行送紙 當選擇黑標定位有效時,前送紙距離有GS ( F(a=2)命令設置的參數確定。 當禁止黑標定位(未設置或正確設置GS ( F命令)時,該命令無效。 GS V 走紙到切紙位置 格式:① ASCII: GS V m 十進制: 29 86 m 十六進制: 1D 56 m ② ASCII: GS V m n 十進制: 29 86 m n 十六進制: 1D 56 m n 說明: ①m=1,49。②m=66,0≤n≤255 M 解 釋 1,49 部分切紙(無切刀則無切紙動作) 66 走紙到(切紙位置+n×1/144英寸)位置並部分切紙(無切紙刀則無切紙動作) GS * 下裝自定義點圖 格式: ASCII: GS * n1 n2 [d]k 十進制: 29 42 n1 n2 [d]k 十六進制: 1D 2A n1 n2 [d]k 說明: GS *命令主要用於將重復打印單據中不變的徵標等大量圖形數據一次性下裝到打印機內貯存起來,在重復打印單據時只需送GS /命令隨時打印出所下裝的點圖。 下裝的點圖數據格式如下: n1*8點 …….. n2*n1*7+1 n2*8點 …….. n2*n1*7+2 . . : : …….. n2*n1*8 其中:1〈 n1〈35,1〈 n2〈64,並要求 n1* n2〈315,k=0……n1*n2*8 下裝的數據量為:n1* n2*8。 第二次執行GS *命令時,會將以前由GS *命令下裝的點圖數據清除,裝入當前GS *命令的下裝數據。 執行ESC @初始化命令不會清除下裝點圖數據。 GS / 將下裝點圖裝入打印緩沖區 格式: ASCII: GS / n 十進制: 29 47 n 十六進制: 1D 2F n 說明: GS /命令將由GS *命令定義的下裝點圖按照參數n的設置不同密度裝入打印緩沖區。並打印出全圖。 N 點圖方式 縱向密度 橫向密度 0 正常方式 144dpi 160dpi 1 雙倍寬方式 144dpi 80dpi 2 雙倍高方式 72dpi 160dpi 3 雙倍高倍寬方式 72dpi 80dpi 附錄一 打印命令表 命令(ASCII) 十六進制 功能說明 HT 09 打印位置進行到下一水平制表位置 LF 0a 打印行緩沖器里的內容,並向前走紙一行 CR 0D 打印回車 ESC SP 1B 20 n 設置字符右邊的字間距為n個半點距(1/140英寸) ESC ! 1B 21 n 選擇打印字符的大小和下划線 ESC % 1b 25 n 允許/禁止用戶自定義字符集 ESC & 1B 26 s n m a d1..dn 設置用戶自定義字符集 ESC * 1B 2A m n1 n2 置點陣圖形打印 ESC 2 1B 32 設定1/6英寸換行量 ESC 3 1B 33 設置字符行間距為n/8英寸 ESC 〈 1B 3C 打印頭歸位 ESC @ 1B 40 初始化打印機 ESC D 1B 44 設置水平制表值,最遲多可設置32個 ESC D NULL 1B 44 0 消除所有的水平制表位置 ESC J 1B 4A n 執行n/144英寸走紙 ESC R 1B 52 n 選擇n個不同國家的不同ASCII字符集 ESC U 1B 55 n 設置/取消單向打印方式 ESC C 1B 43 n 設定檢測黑標的范圍 ESC FF 1B 0C 執行走紙到黑標位置 ESC c 4 1B 63 34 設置/取消缺紙時停止打印 ESC c 5 n 1B 63 35 允許/禁止走紙按鍵 ESC d 1B 64 打印並進紙n字符行 ESC i 1B 69 切紙刀命令 ESC j n 1B 6A 退紙n/144英寸 ESC m 1B 6D 執行部分切紙 ESC p 1B 70 產生錢箱驅動脈沖 ESC t 1B 74 選擇字符集 FS ! 1C 21 漢字綜合選擇 FS & 1C 26 進入漢字打印方式 FS ~ S 1C 7E 53 選擇漢字打印速度 FS · 1C 2E 退出漢字打印方式 FS 2 1C 32 用戶自定義漢字 FS S 1c 53 n1 n2 設定全角漢字字間距 FS T 1c 54 n1 n2 設定半角漢字字間距 GS ( F pL pH a m nL nH 1D 28 46 pL pH am nL nH 設置黑標定位偏移量 GS FF 1D 0C 送黑標紙至打印起始位置 GS V m 1D 56 m 送黑標到切/撕紙位置 GS V 1D 56 走紙到切紙位置 G * 1D 2A n1 n2 下裝自定義點圖 GS / 1D 2F 將下裝的位圖裝入打印緩沖區 |