读书人

java应用jnative控制北洋牌标签打印机

发布时间: 2012-11-26 11:48:50 作者: rapoo

java使用jnative控制北洋牌标签打印机打印二维码


打印机型号BTP-2100E,可打印二维码标签,效果如附件,将打印机的驱动bpladll.dll、ByUSBInt.dll和jnative的dll放到system32下面,项目导入jnative的jar包,使用USB接口import org.xvolks.jnative.JNative;import org.xvolks.jnative.Type;import org.xvolks.jnative.exceptions.NativeException;public class CopyOfDemo {private static final String PRINTER_DLL = "bpladll.dll";public static void main(String[] args) {Demo demo = new Demo();System.loadLibrary("bpladll");JNative n = null;try {// 打开端口n = demo.getJNativeByFunction("BPLA_OpenUsb");n.setRetVal(Type.INT);n.setParameter(0, Type.INT, "1");n.invoke();System.out.println(n.getRetVal() + ":BPLA_OpenUsb");n = demo.getJNativeByFunction("BPLA_SetEnd");n.setRetVal(Type.INT);n.setParameter(0, Type.INT, "70");n.invoke();System.out.println(n.getRetVal() + ":BPLA_SetEnd");n = demo.getJNativeByFunction("BPLA_Reset");n.setRetVal(Type.INT);n.invoke();System.out.println(n.getRetVal() + ":BPLA_Reset");n = demo.getJNativeByFunction("BPLA_StartArea");n.setRetVal(Type.INT);n.setParameter(0, Type.INT, "0");n.setParameter(1, Type.INT, "500");n.setParameter(2, Type.INT, "10");n.setParameter(3, Type.INT, "10");n.setParameter(4, Type.INT, "0");n.setParameter(5, Type.INT, "0");n.setParameter(6, Type.INT, "0");n.setParameter(7, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_StartArea");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "南京咸水鸭");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "210");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "30");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "价格(元):35");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "180");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "净重(千克):2.6");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "150");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "单价(元/千克):15");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "120");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "生产日期:12.11.20");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "90");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "保质日期:12.12.08");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "60");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "沃尔玛购物广场");n.setParameter(1, Type.INT, "4");n.setParameter(2, Type.INT, "30");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");n = demo.getJNativeByFunction("BPLA_PrintQR");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "QA,123698547896325874125896325");n.setParameter(1, Type.INT, "260");n.setParameter(2, Type.INT, "70");n.setParameter(3, Type.INT, "7");n.setParameter(4, Type.INT, "2");//使用1 扫描枪能扫出结果 使用2手机能扫出结果n.setParameter(5, Type.INT, "0");n.setParameter(6, Type.INT, "27");n.invoke();System.out.println(n.getRetVal() + ":BPLA_PrintQR");n = demo.getJNativeByFunction("BPLA_PrintTruetype");n.setRetVal(Type.INT);n.setParameter(0, Type.STRING, "xxoo公司");n.setParameter(1, Type.INT, "260");n.setParameter(2, Type.INT, "30");n.setParameter(3, Type.STRING, "微软雅黑体");n.setParameter(4, Type.INT, "20");n.setParameter(5, Type.INT, "0");n.invoke();n = demo.getJNativeByFunction("BPLA_Print");n.setRetVal(Type.INT);n.setParameter(0, Type.INT, "1");n.setParameter(1, Type.INT, "0");n.setParameter(2, Type.INT, "1");n.invoke();System.out.println(n.getRetVal() + ":BPLA_Print");n = demo.getJNativeByFunction("BPLA_CloseUsb");n.setRetVal(Type.INT);n.invoke();System.out.println(n.getRetVal() + ":BPLA_CloseUsb");} catch (Exception e) {e.printStackTrace();} finally {if (n != null) {try {n.dispose();} catch (NativeException e) {e.printStackTrace();} catch (IllegalAccessException e) {e.printStackTrace();}}}}// 通过方法名取得JNative对象public JNative getJNativeByFunction(String functionName) throws NativeException {return new JNative(PRINTER_DLL, functionName);}}

读书人网 >行业软件

热点推荐