斑馬條碼打印機(jī)(ZPL)可以通過^BC指令來進(jìn)行code128條形碼的打印。
一、斑馬^BC指令的描述
code128是一種高密度、可變長、連續(xù)的字母數(shù)字符號。它的目的是編碼復(fù)雜的產(chǎn)品標(biāo)識。每個(gè)code128字符,包括六個(gè)要素:三個(gè)條和三個(gè)空。
● ^BC支持一個(gè)固定打印比率。
● 數(shù)據(jù)(^FD)受限于標(biāo)簽的寬度。
斑馬^BC指令格式如下:
^BCo,h,f,g,e,m
這里:
① ^BC = Code128條形碼
② o = 方向
默認(rèn)值:當(dāng)前^FW的設(shè)置
N = 正常
R = 順時(shí)針旋轉(zhuǎn)90度
I = 倒轉(zhuǎn)180度
B = 鏡像
③ h = 條形碼高度
默認(rèn)值:由^BY來設(shè)置
其他值:1dot 到 9999dots
④ f = 打印釋義行
默認(rèn)值:Y =Yes
其他值:N =No
⑤ g = 條碼上打印釋義行
默認(rèn)值:N =No
其他值:Y =Yes
⑥ e = UCC校驗(yàn)位
默認(rèn)值:N =No
其他值:Y =Yes
⑦ m = 模式,N、U、A、D可選
默認(rèn)值:N =沒有模式可選
其他值:U =UCC模式,(^FD或^SN語句必須包括19個(gè)數(shù)字,它也可以包含有效的字母),C字符集中的FNC1將被自動選擇使用;在^FD或^SN語句中超出19位的多余位數(shù)將被濾掉,而低于19位數(shù)字的,將在右側(cè)增加0補(bǔ)充至19位。
其他值:A =Automatic模式,Automatic模式分析發(fā)送來的數(shù)據(jù),并自動確定最佳的分配方法;完整的ASCII字符集都可以用使用在^FD語句中,打印機(jī)將決定什么時(shí)候轉(zhuǎn)變字符子集,四個(gè)或者更多的數(shù)字位將導(dǎo)致自動轉(zhuǎn)換為C字符集。
其他值:D =新模式(F/W為x.11.x版本或以上),●將允許處理帶應(yīng)用程序標(biāo)識符或不帶應(yīng)用程序標(biāo)識符的UCC/EAN;●代碼以FNC1開始標(biāo)識一個(gè)UCC/EAN128條形碼;●打印機(jī)將自動去掉括號和空格進(jìn)行編碼,但括號和空格在釋義行可見;●打印機(jī)將自動判斷,如果需要一個(gè)校驗(yàn)位,計(jì)算出來,并打印它;●自動調(diào)整釋義行
二、code128條形碼子集
code128碼有三個(gè)字符的子集。在每個(gè)子集中都有106個(gè)編碼打印字符,每個(gè)字符集最多可以有三個(gè)不同的含義,這取決于所使用的字符子集。三個(gè)code128字符子集分別被稱為:●子集A;●子集B;●子集C
子集可以通過下述兩種方法之一進(jìn)行選擇:
Ⅰ.在與該條形碼關(guān)聯(lián)的字符串?dāng)?shù)據(jù)(^FD)中,使用一個(gè)特殊的調(diào)用代碼。
Ⅱ.將所需的啟動代碼放在的數(shù)據(jù)開始的位置。如果沒有啟動代碼輸入,子集B將被使用。
要改變一個(gè)條形碼內(nèi)的子集,在相應(yīng)的數(shù)據(jù)串點(diǎn)上放置適當(dāng)?shù)恼{(diào)用代碼,新的子集將保持有效,直到出現(xiàn)了其他的調(diào)用代碼。 (例如,在子集C中,使用一個(gè)“>7”數(shù)據(jù)改變到A的子集),下表顯示了code128三個(gè)子集的調(diào)用代碼和開始字符代碼。

① 子集A和子集C的規(guī)則
code128的子集A和子集C在數(shù)據(jù)字符串中需要通過雙位數(shù)來進(jìn)行編程,00-99。在子集A中,每個(gè)雙位數(shù)來作為一個(gè)單字符編碼到條形碼中;子集C是直接被打印的。
② 子集B的規(guī)則
子集B是直接作為ASCII文本編程的,除了大于94的和一些特殊字符(^ > ~)外,而這些字符必須通過調(diào)用代碼來進(jìn)行編程。
③ code128字符集,詳見http://www.richufangzhi.cn/code128_width.shtml
④ UCC/EAN-128符號體系
應(yīng)用標(biāo)識符數(shù)據(jù)UCC/EAN-128,是一種code128碼的變體,專門保留為EAN和UCC使用,它的目的不是用于零售網(wǎng)點(diǎn)的數(shù)據(jù)掃描。
UCC/EAN-128有很多優(yōu)勢,它是當(dāng)今最完整的字母數(shù)字一維條碼,使用三種不同的字符集(A,B,C)有利于完整的對128個(gè)ASCII字符進(jìn)行編碼;code128條形碼是最緊湊的線性條碼;字符集C可以使雙密度模式來代表的數(shù)字?jǐn)?shù)據(jù),在這種模式下,兩個(gè)數(shù)字用一個(gè)符號字符代表以節(jié)省寶貴的空間。
UCC/EAN-128條碼始終包含一個(gè)特殊的非數(shù)據(jù)字符被稱為功能1(FNC1),它跟在條碼的起始字符后。它使掃描器和處理軟件能夠自動識別UCC/EAN-128和其他條碼符號,隨后只處理相關(guān)數(shù)據(jù)。
UCC/EAN-128條碼是由靜止區(qū)、一個(gè)code128的起始字符A,B或C、1個(gè)FNC字符、數(shù)據(jù)(應(yīng)用程序標(biāo)識符加上數(shù)據(jù)字段)、校驗(yàn)字符、停止字符和一個(gè)尾隨的靜止區(qū)來組成。
UCC/EAN,UCC/128有幾種方式來聽取它所使用的代碼。這取決于所使用的應(yīng)用程序標(biāo)識符代碼。
下面是UCC應(yīng)用標(biāo)識符表:
數(shù)據(jù)內(nèi)容 |
應(yīng)用標(biāo)識符(AI) |
另加下列數(shù)據(jù)結(jié)構(gòu) |
Serial Shipping Container Code (SSCC) |
00 |
整整18個(gè)數(shù)字 |
Shipping Container Code |
01 |
整整14個(gè)數(shù)字 |
Batch NumberS |
10 |
最大可到20個(gè)字母數(shù)字 |
Production Date (YYMMDD) |
11 |
整整6個(gè)數(shù)字 |
Packaging Date (YYMMDD) |
13 |
整整6個(gè)數(shù)字 |
Sell By Date (YYMMDD) |
15 |
整整6個(gè)數(shù)字 |
Expiration Date (YYMMDD) |
17 |
整整6個(gè)數(shù)字 |
Product Variant |
20 |
整整2個(gè)數(shù)字 |
Serial Number |
21 |
最大可到20個(gè)字母數(shù)字 |
HIBCC Quantity, Date, Batch and Link |
22 |
最大可到29個(gè)字母數(shù)字 |
Lot Number |
23* |
最大可到19個(gè)字母數(shù)字 |
Quantity Each |
30 |
|
Net Weight (Kilograms) |
310** |
整整6個(gè)數(shù)字 |
Length, Meters |
311** |
整整6個(gè)數(shù)字 |
Width or Diameter (Meters) |
312** |
整整6個(gè)數(shù)字 |
Depths ( Meters) |
313** |
整整6個(gè)數(shù)字 |
Area (Sq. Meters) |
314** |
整整6個(gè)數(shù)字 |
Volume (Liters) |
315** |
整整6個(gè)數(shù)字 |
Volume (Cubic Meters) |
316** |
整整6個(gè)數(shù)字 |
Net Weight (Pounds) |
320** |
整整6個(gè)數(shù)字 |
Customer PO Number |
400 |
最大可到29個(gè)字母數(shù)字 |
Ship To (Deliver To) Location Code
using EAN 13 or DUNS Number with leading zeros |
410 |
整整13個(gè)數(shù)字 |
Bill To (Invoice To) Location Code
using EAN 13 or DUNS Number with leading zeros |
411 |
整整13個(gè)數(shù)字 |
Purchase from |
412 |
整整13個(gè)數(shù)字 |
Ship To (Deliver To) Postal Code
within single postal authority |
420 |
最大可到9個(gè)字母數(shù)字 |
Ship To (Deliver To) Postal Code
with 3-digit ISO Country Code Prefix |
421 |
3個(gè)到9個(gè)字母數(shù)字 |
Roll Products - width, length,
core diameter, direction and splices |
8001 |
整整14個(gè)數(shù)字 |
Electronic Serial number for
cellular mobile phone |
8002 |
最大可到20個(gè)字母數(shù)字 |
注:對于僅僅需要表明年和月的,數(shù)據(jù)字段被設(shè)置為“00”
三、斑馬^BC指令打印code128條形碼示例
1、通過子集A來進(jìn)行打印
指令代碼如下:
^XA
^FO100,70^BY3^BCN,100,Y,N,N
^FD>93547363717181920^FS
^XZ
打印結(jié)果如下:
2、通過子集C來進(jìn)行打印
指令代碼如下:
^XA
^FO100,70^BY3^BCN,100,Y,N,N
^FD>;5633765412^FS
^XZ
打印結(jié)果如下:
3、具有子集C轉(zhuǎn)換到子集B,然后再轉(zhuǎn)換為子集A
指令代碼如下:
^XA
^FO50,50^BY3^BCN,100,Y,N,N
^FD>;382436>6CODE128>752375152^FS
^XZ
打印結(jié)果如下:
 “>;”為子集C的開始字符代碼,“>6”表示轉(zhuǎn)換為子集B,“>7”表示轉(zhuǎn)換為子集A。
4、幾種方法來編寫代碼,打印EAN/UCC-128條形碼,應(yīng)用標(biāo)識符為'00'
4.1 m參數(shù)使用'N',應(yīng)用標(biāo)識符為00
代碼如下:
^XA
^FO90,200^BY4^BCN,256,Y,N,Y,N^FD>;>80012345123451234512^FS
^XZ
打印效果如下:

■
>;>8,設(shè)置子集C 和功能1(FCN1)
■ 00后面有17個(gè)字符,校驗(yàn)位自動生成打印第20個(gè)字符(由e參數(shù)來決定)
■ 當(dāng)m參數(shù)設(shè)置為N時(shí),位數(shù)并不限制在19個(gè)字符
4.2 m參數(shù)使用'U',應(yīng)用標(biāo)識符為00
代碼如下:
^XA
^FO90,200^BY4^BC,256,Y,N,,U^FD0012345123451234512^FS
^XZ
打印效果如下:

■ 當(dāng)m參數(shù)選擇U時(shí),在^FD后面只能使用19個(gè)字符,不能多也不能少
■ 子集C和FNC1是被自動選擇的
■ 校驗(yàn)位是被自動插入的
4.3 m參數(shù)使用'D',應(yīng)用標(biāo)識符為00
代碼如下:
^XA
^FO50,200^BCN,150,Y,N,,D^FD(00) 1 2345123 4512345120^FS
^XZ
打印效果如下:

■ 這個(gè)0(數(shù)據(jù)結(jié)束時(shí))是個(gè)假字符,作為一個(gè)占位字符,打印機(jī)將自動插入一個(gè)校驗(yàn)位,在這個(gè)列子中校驗(yàn)位剛好也是0
■ 子集C和FNC1是被自動選擇的
■ 括號和空格,可以出現(xiàn)在數(shù)據(jù)中
■ 校驗(yàn)位是自動插入的。打印機(jī)將自動計(jì)算校驗(yàn)位,并把其寫入到條形碼的釋義行。
■ 釋義行也將顯示括號和空格,但不會在實(shí)際的條碼里。
4.4 使用不同的字體來打印釋義行(F/W版本為x.10.x或者更新的版本)
代碼如下:
^XA
^FO50,200^A0N,40,30^BCN,150,Y,N,Y^FD>;>80012345123451234512^FS
^XZ
打印效果如下:

■ ^A0N,40,30命令行可以改變釋義行的字體和大小。
4.5 使用不同的字體來打印釋義行(F/W版本為x.10.x以下版本)
代碼如下:
^XA
^FO25,25^BCN,150,N,N,Y^FD>;>80012345123451234512^FS
^FO100,190^A0N,50,40^FD(00) 1 2345123 451234512 0^FS
^XZ
打印效果如下:

■ 需要編寫一個(gè)單獨(dú)的文本字段。
■ 條形碼的釋義行需要被關(guān)閉,參數(shù)f必須為N
■ ^A0N,50,40命令行可以改變釋義行的字體和大小。
■ 你必須確保你在文本字段中輸入正確的校驗(yàn)數(shù)字
■ 創(chuàng)建一個(gè)單獨(dú)的文本域,用括號和空格來格式釋義行。
5、具有多個(gè)應(yīng)用標(biāo)識符的EAN/UCC-128條形碼打印 FNC1(>8)將被插入在兩個(gè)AI之間
5.1 m參數(shù)使用A(自動)
^XA
^BY2,2.5,193^FO33,400^BCN,,N,N,N,A^FD>;>80104017773003486>8100008535>8910001>837252^FS
^FT33,625^AEN,0,0^FD(01)04017773003486(10)0008535(91)0001(37)252^FS
^XZ
5.2 m參數(shù)使用U
^XA
^BY3,2.5,193^FO33,200^BCN,,N,N,N,U^FD>;>80204017773003486>8100008535>8910001>837252^FS
^FT33,455^A0N,30,30^FD(02)04017773003486(10)0008535(91)0001(37)252^FS
^XZ
5.3 m參數(shù)使用D
^XA
^PON
^LH0,0
^BY2,2.5,145^FO218,343^BCB,,Y,N,N,D^FD(91)0005886>8(10)0000410549>8(99)05^FS
^XZ
閱讀本文的人還閱讀:
◆條碼打印機(jī)選型
◆上海條碼打印機(jī)-銷售與精品服務(wù)
◆條碼打印機(jī)原理是什么?解析條碼打印機(jī)工作原理
◆斑馬條碼打印機(jī)如何改善驅(qū)動打印緩慢的問題?機(jī)
|