`

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);
	}
	
}


  • 大小: 4.6 KB
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics