在斑马便携式打印机中的语言大多是EPL2语言,当然很多机型支持的语言不止一种。在EPL2中可以是先一边扫描条码,一边把扫描到的数据打印出同一个条码出来。也可以扫描若干个条码然后打印出来,还可以设置每次打印的标签数。指令内容大概如下://代表注释,度量一般指点数(dots),除非单独说明
FK"AUTOFR"<LF>//清除格式名称为AUTOFR(自动检索的意思,用这个名称可以实现自动打印,也就是边扫边打)的格式
FS"AUTOFR"<LF>//开始一个名称为AUTOFR的格式
V00,10,N,"TEXTDATA"<LF>//V为定义变量,00代表变量的编号,10代表变量可以接收的最大字符数,N:无定义左中右,TEXTDATA为变量名,前可加[-]代表键盘显示。不采取键盘输入等操作方式一般不用。
V01,21,N,"BCDATA"<LF>//同上
q456<LF>//标签宽度,456为宽度值(可不要,采用感应器的值)
ZB<LF>//打印方向(先底部还是先顶部)B为先底部
JF<LF>//这个命令使打印了最后一个标签后保存该标签的格式,这样可以保证不断的扫,不断的按照预定格式打印。(这里可不要)
A98,33,0,5,1,1,N,V00<LF>//打印ASCII字符,98:起始X坐标;33:起始Y坐标;0:字符角度(0度);5:选择字体;1,1:横向和纵向扩大比例,1代表1倍(不扩大);N:正常(R表示反白);V00:代表V00变量的值(也可以"abcd"打印abcd)
B85,29,0,3,2,5,60,B,V01<LF>//前三个参数同上(参数以逗号隔开),3:code39std and extended(码制);2:窄条宽度;5:宽条宽度;60:条码高度;B:打印可读代码(不可读一般指控制字符);V01:变量编号为V01的变量数据(也可以"123456")
PA2<LF>//打印标签的数量,2:标签集数。
FE<LF>//结束格式定义
如果FS中的引号里不是AUTOFR,这时属于一个普通的格式系列。必须依下面的方式实现实现打印:
FR"FORMNAME"<LF>//这里FORMNAME代表输入的名字,也就是说不是AUTOFR的时候需要用该指令检索格式系列,然后再发送数据就可以打印了。
?<LF>//获取变量指令
<Variable1><LF>//第一个变量的值
…<LF>//下一个变量的值并以此类推。
每行指令都以换行符结束,大部分PC机和移动设备的换行都带有<CR><LF>(回车和换行),打印机会自动忽略<CR>字符。
被置在打印机的格式系列的清除采取下面的指令
<DC3><LF>//使AUTOFR无效。DC3的ASCII码是19,16禁止数是13,也可以用<NUL><LF>
FK"AUTOFR"<LF>//也可以FK"*"<LF>这个代表清除所有格式系列。
注意:如果设置了n个变量,则需要接受到n个变量才开始打印。B指令里的窄条和宽条对不同的码制有不同的理解。如Code39码只有窄条和宽条,且每个数字和其他字符对应的窄条和宽条是固定的,增加一个数字加10条(包括窄宽和黑白),增加一个字母加20个条,辨识码包含19个条。密度是计算的窄条宽度。据此可以计算条码的宽度。Code128则只有窄条有意义。窄条和宽条可以设置条码的密度,条码的宽度可以根据密度和字符来计算。具体算法要看各种条码规则而定。