无码一级午夜福利免费区无码_亚洲男女性爱视频在线_国产成人亚洲精品青草上每_精品一久久香蕉国产线看播放_欧美日韩精品另类密臂_你喷的到处都是满了溢出来了_国产日韩激情综合一区_蜜汁人妻1~6动漫

ZPL 、EPL與TSPL指令區別

小飛 | 2019/12/08

飛印盒子驅動標簽打印機的時候具有各種模式,這里常見的ZPL和EPL、TSC等概念是什么呢?

這些都是標簽語言的術語

條碼打印機是一種專業的打印設備,其打印實現方式與普通的激光、噴墨或針式打印機有所不同。

世界各大條碼打印設備廠商生產的打印機都采用了各自不同的打印語言以實現其打印,如Zebra系列的ZPL(斑馬條碼打印機工業型號),Eltron的EPL(斑馬條碼打印機桌面小機器),Datamax的DPL等。

與普通打印方式相比,采用打印語言的優點在于速度快,精度高,但由于沒有統一的標準打印語言,使得用戶在使用不同機器時會產生一定的麻煩,好在各種打印語言的語法比較類似,上手也是比較簡單的。

它們的工作原理其實很簡單:利用這些編程語言,編輯好一個打印的指令集,發送給條碼打印機,條碼打印機就會按照你事先編輯的命令去進行打印的工作。

不同品牌的打印機,打印指令是不一樣的,所以你用了ZPL來編程出來的指令,不能用在其他品牌的打印機上,包括EPL語言的機器上了。

ZPL標簽開發實例

一個最基本的標簽示例:

^XA   ‘標簽格式開始命令

^LH30,30   ‘Label Home position設置標簽起始參考點坐標為30,30,默認為0,0

^FO20,10^AD^FDEXAMPLE^FS  ‘ ^FO20,10-設置數據域起始坐標,距參考點20,10
                            ^AD-設定字體為D(內部字體)
                            ^FD-數據域開始命令
                            EXAMPLE實際打印內容    
                            ^FS-數據域分隔命令

^FO20,60^B3^FDAAA001^FS  ‘^B3-選擇條碼類型為39碼

^XZ   ‘標簽格式結束命令

打印示例如下:

外賣安心卡,58mm紙寬,姓名體溫打印版本

下表中,對ZPLII一些常用命令做出解釋

命令 含義解釋
_____________ _____________________________________________
^XA 標簽格式開始命令,請注意,每張標簽打印都需以此命令開頭
_____________ _____________________________________________
^LHx,y 設置標簽起始參考點坐標,不使用此命令時默認為0,0
x:x軸坐標(0-9999),y:y軸坐標(0-9999)
注:計量單位為點(dot)
200dpi機器,8點=1mm
300dpi機器,12點=1mm
_____________ _____________________________________________
^LTx “標簽內容上下(Y軸)位置整體移動
x:移動的數值,范圍:-120 - +120點”
_____________ _____________________________________________
^LSa 標簽內容左右(X軸)位置整體移動
a:移動的數值,范圍:-9999 - +9999點
_____________ _____________________________________________
^FOx,y 設置數據域(包括文字、條碼、圖形等)
起始坐標(左上角)
_____________ _____________________________________________
^FDa 定義打印數據字符,a:打印內容
_____________ _____________________________________________
^FS 數據域分隔命令
_____________ _____________________________________________
^Af,o,h,w 打印文字格式定義
f:字體,默認為0,選擇范圍:A-Z,0-9
(均為打印機內部字體,非TrueType字體)
o:文字方向,N=普通,R=旋轉90度,I=旋轉180度,
B=旋轉270度
h:字符高度,范圍:10-1500點
w:字符寬度,范圍:10-1500點”
_____________ _____________________________________________
^BYw,r,h 設定條碼默認參數
w:條寬,缺省為2點,選擇范圍:1-10點
r:條空比率,缺省為3.0,選擇范圍:2.0-3.0
h:條碼高度
_____________ _____________________________________________
^B3o,e,h,f,g 打印39碼
o:條碼方向
e:Mod-43校驗位,N=No(默認),Y=Yes
h:條碼高度,范圍:1-9999點
f:是否打印字符行,Y=Yes(默認),N=No
g:字符行位置,N:條碼下方,Y:條碼上方
_____________ _____________________________________________
^BCo,h,f,g,e,m 打印128碼
e:UCC校驗位,N=No(默認),Y=Yes
m:模式,一般設為A(自動選擇)或忽略不計
_____________ _____________________________________________
^PRp 打印速率
p:速度——2-8(或A-E)=2英寸/秒-8英寸/秒”
_____________ _____________________________________________
^PQq 打印數量
q:總數量,選擇范圍:1-99999999
_____________ _____________________________________________
^GBw,h,t 打印方框
w:方框寬度,h:方框寬度,t:線寬
_____________ _____________________________________________

TSPL語言開發實例

以下代碼內容為一個最簡單標簽的必備要素,以此為例,詳解設計標簽時必備的內容和要點。

一個基本的標簽實例

SIZE 60 mm,40 mm
GAP 2 mm
CLS
TEXT 50,50,"4",0,1,1,"DEMO FOR TEXT"
PRINT 1

一張標簽通常包含三個部分,即系統設定、打印內容設定和執行打印指令。

  • 系統設定包括標簽尺寸(SIZE、GAP)和清除緩沖區數據指令(CLS)等。

  • 打印內容設定可以參考本文檔卷標內容設計指令內容,本例中系打印文本。

  • 執行打印指令用于打印出設計好的標簽,在此指令發送后打印機才執行打印動作。

需要特別注意,在每一條指令結尾需要加入換行符,即字符串“\r\n”或 16 進制 0x0D 0x0A

語法說明

以下為打印標簽時的常用控制指令(在飛印盒子測試頁中默認會帶有一段這種語法的控制指令):

SIZE

該指令用于設定卷標紙的寬度和長度。 使用公制單位,現在我們的標簽大小為60mm*40mm。 注 : 200DPI:1mm = 8dots 使用公制單位,在單位與數字之間必須添加一個空。 指令示例: SIZE 60 mm,40 mm

GAP

該指令用于定義兩張卷標紙間的垂直間距距離。 可以設置2mm或者不設置 指令示例: GAP 2 mm

CLS

該指令用于清除圖像緩沖區(image buffer)的數據。 注:此項指令必須置于SIZE指令之后。 指令示例: CLS

PRINT

該指令用于打印出存儲于影像緩沖區內的數據 可設置打印多張,需放在全部指令最后的位置。 指令示例,打印一張: PRINT 1

TEXT

該指令用于打印字符串。

指令語法:

TEXT x,y,"font",rotation,x-multiplication,y-multiplication,"content"

以下是詳細參數說明:

參數 說明
_____________ _____________________________________________
x 文字 X 方向起始點坐標
y 文字 Y 方向起始點坐標
_____________ _____________________________________________
font 字體名稱
1 8×12 dot 英數字體
2 12×20 dot 英數字體
3 16×24 dot 英數字體
4 24×32 dot 英數字體
5 32×48 dot 英數字體
6 14×19 dot 英數字體 OCR-B
7 21×27 dot 英數字體 OCR-B
8 14×25 dot 英數字體 OCR-A
9 9×17 dot 英數字體
10 12×24 dot 英數字體
TST24.BF2 繁體中文 24×24Font(大五碼)
TSS24.BF2 簡體中文 24×24Font(GB 碼)
K 韓文 24×24Font(KS 碼)
_____________ _____________________________________________
rotation 文字旋轉角度(順時針方向)
0 0 度
90 90 度
180 180 度
270 270 度
_____________ _____________________________________________
x-multiplication X 方向放大倍率 1-10
y-multiplication Y 方向放大倍率 1-10
_____________ _____________________________________________

注意:五號字英文字母僅可打印大寫字母

若要打印雙引號時(“)在程序中請使用 [”] 來打印雙引號

若要打印0D(hex)字符時,請在程序中使用[R]來打印CR

若要打印0A(hex)字符時,請在程序中使用[A]來打印LF

使用說明:

一倍倍率下,60mm寬的標簽,可以打印19個全角中文字符或者39個半角字母數字,中文字體高度為24dtos。

TSPL打印時沒有居中指令,需要手動設置

打印不會自動換行,超出寬度的文字將無法正常打印,所以多行文本,需要用到多個TEXT指令,每一打印文本的起始打印位置都需要手動設置,單位為dtos,即點陣數。60mm*40mm的點陣比為480*320。

常見的文字打印指令示例:
TEXT 0,10,"TSS24.BF2",0,1,1,"一二三四五六七八九十二二三四五六七八九十"
TEXT 0,30,"TSS24.BF2",0,1,1,"12345678902234567890323456789042345678905234567890"
BAR

該指令用于在標簽上畫線。

指令語法:

BAR x,y,width,height

以下是詳細參數說明:

參數 說明
_____________ _____________________________________________
x 線條左上角 X 坐標,單位 dot
y 線條左上角 Y 坐標,單位 dot
_____________ _____________________________________________
width 線寬,單位 dot
height 線高,單位 dot
_____________ _____________________________________________

指令示例:

BAR 100,100,300,200
BARCODE

該指令用來畫一維條碼

指令語法:

BARCODE x,y,"code type",height,human readable,rotation,narrow,wide,"content"

以下是詳細參數說明:

參數 說明
_____________ _____________________________________________
x 左上角水平坐標起點,以點(dot)表示
y 左上角垂直坐標起點,以點(dot)表示
_____________ _____________________________________________
code type 建議使用39或128
_____________ _____________________________________________
height 條形碼高度,以點(dot)表示
Human readable 0 表示人眼不可識,1 表示人眼可識,即在條碼下顯示內容
_____________ _____________________________________________
rotation 條形碼旋轉角度,順時針方向
0 不旋轉
90 順時針方向旋轉 90 度
180 順時針方向旋轉 180 度
270 順時針方向旋轉 270 度
_____________ _____________________________________________
narrow 窄 bar 寬度,以點(dot)表示
wide 寬 bar 寬度,以點(dot)表示
_____________ _____________________________________________
content 一維碼內容
_____________ _____________________________________________

注:條碼肉眼可見時,需要預留條碼內容的顯示位置,內容高度24dot

指令示例:

BARCODE 100,100,"128",50,0,0,2,4,"4600408762105840"
QRCODE

該指令用來打印二維碼

程序語法:

QRCODE x,y,ECC level,cellwidth,mode,rotation,"data string"

參數 說明
_____________ _____________________________________________
二維碼水平方向起始點坐標
二維碼垂直方向起始點坐標
_____________ _____________________________________________
ECC level 選擇 QRCODE 糾錯等級
L 7%
M 15%
Q 25%
H 30%
_____________ _____________________________________________
cell width 二維碼寬度 1-10
mode 手動/自動編碼
A Auto
M Manual
_____________ _____________________________________________
rotation 旋轉角度(順時針方向)
0 0 度
90 90 度
180 180 度
270 270 度
data string 編碼的字符串
_____________ _____________________________________________

指令示例:

QRCODE 50,50,M,6,A,0,"m.bnwtw.cn"

結束語:ZPL與TSPL這兩種典型的標簽開發語言的對比通過這篇文章可以略知一二,盡管用的關鍵詞不同,但是基本功能是接近的,另外有一些較不常用的打印及控制命令未做說明,用戶也最好不要輕易使用,以免造成機器軟硬件設置的混亂。