jsp 调用条码打印机,求大家帮忙啊,谢谢了!!

kxc123 天津汽车技术研究院 高级软件工程师  2010-10-25 12:09:19
我用web想调用客户端的条码打印怎么实现呢,能调exe就行。
我用net use不行。
有没有别的办法,用applet可以吗,大家帮忙啊。。谢谢
...全文
127 点赞 收藏 4
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
海川520 2010-10-26
ocx控件。用vb写的客户端页面脚本.cab文件。然后签到页面调用,我的资源里有,可以供你参考
回复
kxc123 2010-10-26
用activeX具体怎么做呢,我没用过请大家具体教一下谢谢了.
回复
老紫竹 2010-10-25
applet 等插件,得有本地安全授权,才能访问本地打印机。

一般activeX的比较多。
回复
huaming_fly 2010-10-25
用JNative 调用条码打印机提供的dll文件,传参即可...
我以前做了,条码能打印,但是打印出来中文一直乱码 ,后面有别的事情就没做了
调用的是立象了X-1000V PPLB条码打印机
代码没写完,很乱,仅作参考

package com.lxf.dprint;

import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;

public class Demo {

private static final String PRINTER_DLL = "Winpplb.dll";
public void createPrn(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_CreatePrn");
n.setParameter(0, Type.INT,String.valueOf(1));
n.setParameter(1, Type.STRING, "USB001");
n.invoke();//执行,获取返回值
}
public void createUSBPort(Demo demo) throws Exception{
// JNative n= demo.getJNativeByFunction("B_CreateUSBPort");
// n.setParameter(0, Type.INT,String.valueOf(1));
// n.invoke();
int nUSBDataLen=0;
byte[] pbuf;
JNative n = demo.getJNativeByFunction("B_GetUSBBufferLen");
n.setRetVal(Type.INT);
n.invoke();
nUSBDataLen = Integer.parseInt(n.getRetVal())+1;
pbuf=new byte[nUSBDataLen];
System.out.println(pbuf);
n = demo.getJNativeByFunction("B_EnumUSB");
n.setParameter(0, Type.STRING, pbuf);
n.invoke();
n = demo.getJNativeByFunction("B_CreatePort");
n.setParameter(0, Type.INT, "1");
n.invoke();
}
public void setOriginPoint(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Set_Originpoint");
n.setParameter(0, Type.INT,String.valueOf(0));
n.setParameter(1, Type.INT,String.valueOf(0));
n.invoke();
}
public void prnBarcode1(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Barcode");
n.setParameter(0, Type.INT, "26");
n.setParameter(1, Type.INT, "8");
n.setParameter(2, Type.INT, "0");
n.setParameter(3, Type.STRING, "1");//条码类型
n.setParameter(4, Type.INT, "2");//宽度1
n.setParameter(5, Type.INT, "2");//宽度2
n.setParameter(6, Type.INT, "72");//高
char human='B';
n.setParameter(7, human);
n.setParameter(8, Type.STRING, "12356");//条码接入口
n.invoke();
}
public void prnBarcode2(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Barcode");
n.setParameter(0, Type.INT, "298");
n.setParameter(1, Type.INT, "8");
n.setParameter(2, Type.INT, "0");
n.setParameter(3, Type.STRING, "1");//条码类型
n.setParameter(4, Type.INT, "2");//宽度1
n.setParameter(5, Type.INT, "2");//宽度2
n.setParameter(6, Type.INT, "72");//高
n.setParameter(7, 'B');
n.setParameter(8, Type.STRING, "12356");//条码接入口
n.invoke();
}
public void prnBarcode3(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Barcode");
n.setParameter(0, Type.INT, "570");
n.setParameter(1, Type.INT, "8");
n.setParameter(2, Type.INT, "0");
n.setParameter(3, Type.STRING, "1");//条码类型
n.setParameter(4, Type.INT, "2");//宽度1
n.setParameter(5, Type.INT, "2");//宽度2
n.setParameter(6, Type.INT, "72");//高
n.setParameter(7, 'B');
n.setParameter(8, Type.STRING, "12356");//条码接入口
n.invoke();
}
public void prnText1(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Text");
n.setParameter(0, Type.INT, String.valueOf(26));
n.setParameter(1, Type.INT, String.valueOf(112));
n.setParameter(2, Type.INT, String.valueOf(0));
n.setParameter(3, Type.INT, String.valueOf(4)); //设置字体大小
n.setParameter(4, Type.INT, String.valueOf(1));
n.setParameter(5, Type.INT, String.valueOf(1));
char mode='N';
n.setParameter(6, mode);
String st="测试测试";
String st2 = new String(st.getBytes("Unicode"),"Unicode");//Unicode
System.out.println(st2);
n.setParameter(7, Type.STRING, st2);
n.invoke();
}
public void prnText2(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Text_TrueType");
n.setParameter(0, Type.INT, "298");
n.setParameter(1, Type.INT, "112");
n.setParameter(2, Type.INT, "20");
n.setParameter(3, Type.STRING, "宋体");
n.setParameter(4, Type.INT, "1");
n.setParameter(5, Type.INT, "700");
n.setParameter(6, Type.INT, "0");
n.setParameter(7, Type.INT, "0");
n.setParameter(8, Type.INT, "0");
n.setParameter(9, Type.STRING, "AA");
n.setParameter(10, Type.STRING, "1111");

n.invoke();

}
public void prnText3(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Prn_Text_TrueType");
n.setParameter(0, Type.INT, "570");
n.setParameter(1, Type.INT, "112");
n.setParameter(2, Type.INT, "20");
n.setParameter(3, Type.STRING, "宋体");
n.setParameter(4, Type.INT, "1");
n.setParameter(5, Type.INT, "700");
n.setParameter(6, Type.INT, "0");
n.setParameter(7, Type.INT, "0");
n.setParameter(8, Type.INT, "0");
n.setParameter(9, Type.STRING, "AB");
n.setParameter(10, Type.STRING, "商品名称");
n.invoke();
}
public void printOut(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_Print_Out");
n.setParameter(0, Type.INT, "2");
n.invoke();
}
public void closePrn(Demo demo) throws Exception{
JNative n= demo.getJNativeByFunction("B_ClosePrn");
n.invoke();
}
public static void main(String [] args) throws Exception {
/*可用方法
* B_Set_Labwidth() 设置标签宽度
* B_Set_Labgap(50,24); 设置“标签和Gap长度”。
* */
Demo demo = new Demo();
/*加载dll文件*/
System.loadLibrary("Winpplb");
//demo.createPrn(demo);
demo.createUSBPort(demo);

demo.prnBarcode1(demo);
demo.prnBarcode2(demo);
demo.prnBarcode3(demo);
demo.prnText1(demo);
demo.prnText2(demo);
demo.prnText3(demo);
demo.printOut(demo);
demo.closePrn(demo);
}
//public JNative getJNative(){


//}
// 通过方法名取得JNative对象
public JNative getJNativeByFunction(String functionName) throws NativeException{
return new JNative(PRINTER_DLL, functionName);
}
}

回复
相关推荐
发帖
Web 开发
创建于2007-09-28

8.0w+

社区成员

Java Web 开发
申请成为版主
帖子事件
创建了帖子
2010-10-25 12:09
社区公告
暂无公告