import javax.print.Doc; import javax.print.DocFlavor; import javax.print.DocPrintJob; import javax.print.PrintException; import javax.print.PrintService; import javax.print.PrintServiceLookup; import javax.print.ServiceUI; import javax.print.SimpleDoc; import javax.print.attribute.HashPrintRequestAttributeSet; import javax.print.attribute.PrintRequestAttributeSet; import javax.print.attribute.standard.Copies; /* * 创建日期 2009-7-24 * * TODO 要更改此生成的文件的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ /** * @author hl * * TODO 要更改此生成的类型注释的模板,请转至 * 窗口 - 首选项 - Java - 代码样式 - 代码模板 */ public class ZebraPrintByUsb extends java.applet.Applet{ public static void print(String pNo,String pName){ try{ //定位默认的打印服务 PrintService defaultService = PrintServiceLookup.lookupDefaultPrintService(); //设置打印格式,因为未确定文件类型,这里选择BYTE_ARRAY.AUTOSENSE DocFlavor flavor = DocFlavor.BYTE_ARRAY.AUTOSENSE; //构建打印请求属性集 PrintRequestAttributeSet attrs = new HashPrintRequestAttributeSet(); //查找所有的可用打印服务 PrintService printService[] = PrintServiceLookup.lookupPrintServices(flavor, attrs); //显示打印对话框 PrintService service = ServiceUI.printDialog(null, 200, 200, printService , defaultService, flavor, attrs); if (printService.length > 0){ //创建打印作业 DocPrintJob job = service.createPrintJob(); String ii = "N" + '/n' + "ZB" + '/n' + "D15" + '/n' + "B50,37,0,1,3,6,88,B,/"" + pNo + "/"" + '/n' + "A50,155,0,8,1,1,N,/"" + pName + "/"" + '/n' + "P1" + '/n'; //字符串转字符流 byte[] url = ii.getBytes(); //InputStream stream = new ByteArrayInputStream(url); //建立打印文件格式 Doc doc = new SimpleDoc(url,flavor,null); attrs.add(new Copies(1)); //发送打印指令 job.print(doc, attrs); } } catch (PrintException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } function zebraPrint(){ var pNo = document.getElementById("specNo0").value; myApplet.print(pNo,"劳务经理证"); } <APPLET code="ZebraPrintByUsb.class" codebase="../appletclass" width=150 height=25 name="myApplet" id="myApplet"></APPLET> 说明:java文件和.class文件要放在root目录下;客户端浏览器要装有JRE才能浏览