Code128码打印ZPL语言BySue.docx

上传人:b****5 文档编号:8223174 上传时间:2023-01-30 格式:DOCX 页数:9 大小:171.22KB
下载 相关 举报
Code128码打印ZPL语言BySue.docx_第1页
第1页 / 共9页
Code128码打印ZPL语言BySue.docx_第2页
第2页 / 共9页
Code128码打印ZPL语言BySue.docx_第3页
第3页 / 共9页
Code128码打印ZPL语言BySue.docx_第4页
第4页 / 共9页
Code128码打印ZPL语言BySue.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Code128码打印ZPL语言BySue.docx

《Code128码打印ZPL语言BySue.docx》由会员分享,可在线阅读,更多相关《Code128码打印ZPL语言BySue.docx(9页珍藏版)》请在冰豆网上搜索。

Code128码打印ZPL语言BySue.docx

Code128码打印ZPL语言BySue

Code128码打印---ZPL语言BySue

使用斑马打印机专门的打印命令ZPL语言进行VIN码打印1.斑马打印机驱动的设置

(1)使用的打印纸大概为------6.5cm*1.3cm

(2)设置PaperSize的大小为6.5cm*1.3cm-----使用的是用户自定义大小

(3)设置打印的浓度PrinterDarkness为10(默认为10)---可使用打印命令^MD16设置打印浓度

(4)设置PrinterActions设置如下所示,具体作用不是很清楚

2.ZPL命令简单使用

(1)^XA和^XZ是开始和结束标记

(2)^MD30设置色带颜色的深度,取值范围从-30到30,30为最深颜色深度

(3)^LH设置条码纸的边距

(4)^FO设置条码左上角的位置,0,0代表完全不留边距

(5)^ACN是设置字体的.因为在条码下方会显示该条码的内容,所以这里要设一下字体.这个字体跟条码无关.

^Afo,h,w

(6)^BY是设置条码样式

^BY命令的格式:

改变条码默认参数

^Byw,r,h

w模块(窄条)宽开机初始化值:

2点可接受的数值:

1-10点

r宽条与窄条的比例开机初始化值:

.0可接受的数值:

.0到3.0,,.1的增量(对固定比例的条码无效)效)

h条码高度开机初始化值:

,点可接受的数值:

点到标签高度

(7)^BC是打印code128的指令

(8)^FD设置要打印的内容,^FS表示换行.

(9)^XG命令用于调用一个或多个要进行打印的图形图像

(10)~DGd:

o.x,t,w,data

3.VIN(17位)条形码打印------使用ZPL语言即命令来实现Zebra打印机打印条形码

(1)使用ZPL语言实现打印,下面是实现函数ZebraPrintpackagecn.edu.hust.mes.client.utils;

importjava.io.File;

importjava.io.FileInputStream;

importjavax.print.Doc;

importjavax.print.DocFlavor;

importjavax.print.DocPrintJob;

importjavax.print.PrintException;importjavax.print.PrintService;

importjavax.print.PrintServiceLookup;importjavax.print.SimpleDoc;

publicclassZebraPrint{

byte[]dotfont;

Strings_prt="^XA,^MD16",s_prt_buffer="";

//^XA打印开始标志^MD打印浓度为30^ABN,30,30设置字体大小

//长,宽

publicstaticvoidmain(String[]args){

try{

ZebraPrinta=newZebraPrint();

a.setCommand("LNBMDLAA1CR023837");

Stringstr=a.getCommand();

System.out.println(str);

a.print(str);

}catch(Exceptione){

e.printStackTrace();

}

}

publicZebraPrint()throwsException{

Filefile=newFile(System.getProperty("user.dir")+"\\src\\resources\\ts24.lib");

FileInputStreamfis=newFileInputStream(file);

dotfont=newbyte[fis.available()];

fis.read(dotfont);

fis.close();

}

publicvoidsetCommand(Stringbarcode){

//Stringbarcode="ABCD1234567890123";

//printBarcode(barcode,30,60,60);

//printBarcode(barcode,30,60);

printBarcode(barcode,100,40);//打印之后能够正确扫描

//printBarcode(barcode,100,100);

}

publicvoidsetCommand(Stringbarcode,intx,inty,intfontX,intfontY,intthinBarcode,int

times,intheight){

//Stringbarcode="ABCD1234567890123";

//printBarcode(barcode,30,60,60);

//printBarcode(barcode,30,60);

printBarcode(barcode,x,y,fontX,fontY,thinBarcode,times,height);//打印之后能够正确扫描

//printBarcode(barcode,100,100);

}

publicStringgetCommand(){

returns_prt+s_prt_buffer+"^XZ";

//^XZ打印结束

}

publicvoidprint(Stringstr)throwsPrintException{

PrintServicepsZebra=PrintServiceLookup.lookupDefaultPrintService();

if(psZebra==null){

System.out.println("没有发现条码打印机.");

return;

}

DocPrintJobjob=psZebra.createPrintJob();

byte[]by=str.getBytes();

DocFlavorflavor=DocFlavor.BYTE_ARRAY.AUTOSENSE;

Docdoc=newSimpleDoc(by,flavor,null);

job.print(doc,null);

}

/**

*打印条形码

*@parambarcode字符串

*@paramxxx坐标

*@paramyyy坐标

*@paramfontX字体高度单位:

dots

*@paramfontY字体宽度

*@paramthinBarcode窄条宽度单位:

dots可接受的数值:

1-10点

*@paramtimes宽条与窄条的比例可接受的数值:

.0到3.0,,.1的增量(对固定比例的条码无效)

*@paramheight高度可接受的数值:

点到标签高度

*/

protectedvoidprintBarcode(Stringbarcode,intx,inty,intfontX,intfontY,intthinBarcode,int

times,intheight){

System.out.println(barcode);

//s_prt_buffer+="^BY3^FS^FO"+x+","+y+"^BEN,"+h+"^FD"+barcode+"\n";

s_prt_buffer+=

"^FO"+x+","+y+"^A1N,"+fontX+","+fontY+"^BY"+thinBarcode+","+times+","+height+"^BCN,,

Y,N^FD"+barcode+"\n";

}

protectedvoidprintBarcode(Stringbarcode,intx,inty){

System.out.println(barcode);

//s_prt_buffer+="^BY3^FS^FO"+x+","+y+"^BEN,"+h+"^FD"+barcode+"\n";

s_prt_buffer+="^FO"+x+","+y+"^A5N,30,33^BY4,3,150^BCN,,Y,N^FD"+barcode+

"\n";

//s_prt_buffer+="^FO"+x+","+y+"^BY4^BCN,150,Y,N,Y,N^FD"+barcode+"^FS";

//s_prt_buffer+=

"^FO"+x+","+y+"^BY4^BCN,150,Y,N,Y,N^FD>;>80012345123451234512^FS";

/*

*

^XA

^FO90,200^BY4

^BCN,256,Y,N,Y,N

^FD>;>80012345123451234512^FS

^XZ

^FO设置条码位置

^FD设置要打印的内容,^FS表示换行

^BY命令的格式:

改变条码默认参数

^Byw,r,h

w模块(窄条)宽开机初始化值:

2点可

接受的数值:

1-10点

r宽条与窄条的比例开机初始化值:

.0可接受的

数值:

.0到3.0,,.1的增量(对固定比例的条码无效)

h条码高度开机初始化值:

,点可接受的数

值:

点到标签高度

*/

}

}

(2)上面的s24.lib包需要添加-----放在项目下(需要注意路径问题)

(3)下面的ZPL函数能够在6.5*1.3cm的纸张下打印出条形码长度与注释长度等宽

条形码和注释等宽:

VIN码长度为17位

^XA,^MD16^FO100,40^A5N,30,33^BY4,3,150^BCN,,Y,N^FDLNBMDLAA1CR023837

^XZ

Sueremarks:

在调整条形码和注释等宽的时候,当字体类型和大小很难调整,达到要求

时,可以考虑调整宽条与窄条的比例

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 工学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1