Zebra条码打印机编程命令Word格式.docx
- 文档编号:8316896
- 上传时间:2023-05-11
- 格式:DOCX
- 页数:8
- 大小:18.48KB
Zebra条码打印机编程命令Word格式.docx
《Zebra条码打印机编程命令Word格式.docx》由会员分享,可在线阅读,更多相关《Zebra条码打印机编程命令Word格式.docx(8页珍藏版)》请在冰点文库上搜索。
^LHx,y
设置标签起始参考点坐标,不使用此命令时默认为0,0
x:
x轴坐标(0-9999),y:
y轴坐标(0-9999)
注:
计量单位为点(dot)
200dpi机器,8点=1mm
300dpi机器,12点=1mm
^LTx
标签内容上下(Y轴)位置整体移动
移动的数值,范围:
-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:
字符宽度,范围:
^BYw,r,h
设定条码默认参数
条宽,缺省为2点,选择范围:
1-10点
r:
条空比率,缺省为3.0,选择范围:
2.0-3.0
条码高度
^B3o,e,h,f,g
打印39码
条码方向
e:
Mod-43校验位,N=No(默认),Y=Yes
条码高度,范围:
1-9999点
是否打印字符行,Y=Yes(默认),N=No
g:
字符行位置,N:
条码下方,Y:
条码上方
^BCo,h,f,g,e,m
打印128码
UCC校验位,N=No(默认),Y=Yes
m:
模式,一般设为A(自动选择)或忽略不计
^PRp
打印速率
p:
速度——2-8(或A-E)=2英寸/秒-8英寸/秒
^PQq
打印数量
q:
总数量,选择范围:
1-99999999
^GBw,h,t
打印方框
方框宽度,h:
方框宽度,t:
线宽
~DGd:
o.x,t,w,DATA
下载图形
t:
图形大小,计算方法为:
x×
(点/毫米)×
(y×
(点/毫米)
8
x:
图形宽度(毫米),y:
图形高度(毫米)
每行字节数,计算方法为x×
8
DATA:
图形的ASCII16进制字符
^XGd:
o.x,x,y
调用图形进行打印
d:
存储图形的设备(Ram/FlashRam等)
o.x:
图形文件名,默认扩展名为GRF
x轴缩放系数
y:
y轴缩放系数
^IDd:
o.x
删除图形
以上命令中如果不填写某些参数,则会使用默认参数,速度控制,位置调整等控制命令需置于标签内容设置命令之前,也可忽略这些控制命令,直接在打印机上调节。
以上是一些ZPLII的主要打印用命令,一些较不常用的打印及控制命令未做说明,用户也最好不要轻易使用,以免造成机器软硬件设置的混乱。
使用ZPLII编写好一个标签格式文件后,可使用DOS命令COPY将其发送至打印机端口进行打印,在编写系统软件时当然也可以采用这种方法,但其效率很低。
下面以VB为例,介绍如何在VB中使用ZPLII打印标签。
PrivateSubCmdPrint_Click()
Open"
LPT1"
ForOutputAs#1
Print#1,"
^XA"
^LH30,30"
^FO20,10^AD^FDEXAMPLE^FS"
^FO20,60^B3^FDAAA001^FS"
Print#1,"
^PQ1,0,0,Y"
^XZ"
Close#1
EndSub
上述方法是将ZPLII命令直接发往LPT1并行打印端口。
在编程中,中文字符的打印应用较多,而如果在程序中直接写入中文字符,打印出的结果会是乱码,针对这种情况,我们可以采用一个动态链接库,使用其中的函数将采用了各种TrueType字体的中文(包括任何语种的文字)转换成16进制码,使得打印机以图形打印方式打印出文字。
具体实现方式如下,同样以VB为例。
PrivateDeclareFunctionGETFONTHEXLib"
fnthex32.dll"
(ByValchnstr$,ByValfontname$,ByValchnname$,ByValorient%,ByValheight%,ByValwidth%,ByValbold%,ByValitalic%,ByValhexbuf$)AsInteger
PrivateSubCommand1_Click()
DimnCountAsInteger
DimcBufAsString*21000
nCount=GETFONTHEX("
中文字符打印测试"
"
宋体"
chnstr01"
0,30,0,1,0,cBuf)
Print#1,Mid(cBuf,1,nCount)
^PRB^FS"
^BY3,3.0^FS"
^FT30,190^BEN,70,Y,N^FD123456789012^FS"
^FO30,15^XGchnstr01,1,1^FS"
^IDchnstr01^FS"
VC示例
Voidfunction
writeZebra()
{
FILE*fhandle;
fhandle=fopen("
zebra.txt"
"
w+"
);
fputs("
^XA\r"
fhandle);
^LH30,30\r"
^FO20,10^AD^FDEXAMPLE^FS\r"
^FO20,60^B3^FDAAA001^FS\r"
^PQ1,0,0,Y\r"
^XZ\r"
\n"
fclose(fhandle);
:
CopyFile("
TRUE);
return;
}
DELPHI示例
……
functionGETFONTHEX(outStr,lfFaceName,outstrname:
Pchar;
lfOrientation,lfHeight,lfWidth,lfBold,lfItalic:
Integer;
hexBuf:
PCHAR):
HINST;
stdcall;
implementation
functionGETFONTHEX;
external'
FNTHEX32.DLL'
;
…….
procedureTForm1.BtnPrintClick(Sender:
TObject);
var
lpt:
textfile;
cbuf:
pchar;
str:
string;
begin
assignFile(lpt,'
LPT1'
rewrite(lpt);
str:
=’测试文字’;
//以下调用转换函数将TrueType文字(中文)转换为图形并发送至打印机内存中,参数说明见附录
=strAlloc(21000);
GETFONTHEX(pchar(str),'
黑体'
'
strtest'
0,32,0,0,0,cbuf);
writeln(lpt,cbuf);
strdispose(cbuf);
writeln(lpt,'
^XA'
^FO10,240^A0N,60,60^FDTEST^FS’);
//使用打印机内部字体0打印文字“TEST”
writeln(lpt,'
^FO10,10^XGstrtest,1,1^FS'
//打印TrueType文字(中文)
^FO10,100^BCN,100,Y,N,N,A^FD1234567^FS'
//打印128条码,内容为“1234567”,高度为100dots
^PQ1'
//打印一张标签
^XZ'
^IDstrtest^FS'
//清空打印机中的图像缓存
CloseFile(lpt);
end;
附:
GETFONTHEX函数参数说明
*1)LPSTRoutStr,//输出字符串的内容
*2)LPSTRlfFaceName,//TrueType字体名称
*3)LPSTRoutstrname//输出字符串的名称
*4)shortintlfOrientation,//旋转方向:
0,90,180,270
*5)shortintlfHeight,//字体高度,对于200dpi打印机,PC中的12号字在打印机中数值相当于32
*6)shortintlfWidth,//字体宽度,汉字一般设为0,为方块字
*7)shortintlfBold,//字体加粗
*8)shortintlfItalic,//斜体
*9)LPSTRhexBuf//接收转换后图形的缓冲区
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Zebra 条码 打印机 编程 命令