java调用DLL,打印二维码标签
作者:互联网
package com.ian.das.controller;
import java.util.List;
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import com.ian.das.model.Asset;
import com.ian.das.util.StringUtil;
public class CopyOfDemo {
private static final String PRINTER_DLL = "bpladll.dll";
public void print(List<Asset> list)
{
CopyOfDemo demo = new CopyOfDemo();
System.loadLibrary("bpladll");
System.loadLibrary("LabelUSBPrintDll");
System.loadLibrary("ByUSBInt");
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");
for(int i=0;i<list.size();i++)
{
String ms="";
n = demo.getJNativeByFunction("BPLA_Set");
n.setRetVal(Type.INT);
n.setParameter(0, Type.INT, "2");
n.setParameter(1, Type.INT, "0");
n.setParameter(2, Type.INT, "0");
n.invoke();
System.out.println(n.getRetVal() + ":BPLA_Set");
// n = demo.getJNativeByFunction("BPLA_SetPaperLength");
// n.setRetVal(Type.INT);
// n.setParameter(0, Type.INT, "350");
// n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_SetPaperLength");
n = demo.getJNativeByFunction("BPLA_SetEnd");
n.setRetVal(Type.INT);
n.setParameter(0, Type.INT, "112");
n.invoke();
System.out.println(n.getRetVal() + ":BPLA_SetEnd");
n = demo.getJNativeByFunction("BPLA_StartArea");
n.setRetVal(Type.INT);
n.setParameter(0, Type.INT, "0");
n.setParameter(1, Type.INT, "700");
n.setParameter(2, Type.INT, "10");
n.setParameter(3, Type.INT, "10");
n.setParameter(4, Type.INT, "30");
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, "资产编码:"+list.get(i).getAssetNo());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "240");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
ms+="ID:"+list.get(i).getId()+";资产编码:"+list.get(i).getAssetNo()+";";
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "资产名称:"+list.get(i).getAssetName());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "210");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
ms+="资产名称:"+list.get(i).getAssetName()+";";
//
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "资产型号:"+list.get(i).getSpecifications());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "180");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
//
ms+="资产型号:"+list.get(i).getSpecifications()+";";
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "保管部门:"+list.get(i).getCustodyDepartment());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "150");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
ms+="保管部门:"+list.get(i).getCustodyDepartment()+";";
//
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "保管人:"+list.get(i).getCustodian());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "120");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
//
ms+="保管人:"+list.get(i).getCustodian()+";";
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "购置日期:"+list.get(i).getStartUseDate());
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "90");
n.setParameter(3, Type.STRING, "Arial");
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, "资产来源:"+(StringUtil.isNotNull(list.get(i).getAssetSource())?list.get(i).getAssetSource():" "));
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "60");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
ms+="资产来源:"+(StringUtil.isNotNull(list.get(i).getAssetSource())?list.get(i).getAssetSource():" ")+";";
n = demo.getJNativeByFunction("BPLA_PrintTruetype");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "资产属性:"+(StringUtil.isNotNull(list.get(i).getAssetAttributeName())?list.get(i).getAssetAttributeName():" "));
n.setParameter(1, Type.INT, "4");
n.setParameter(2, Type.INT, "30");
n.setParameter(3, Type.STRING, "Arial");
n.setParameter(4, Type.INT, "20");
n.setParameter(5, Type.INT, "0");
n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_PrintTruetype");
ms+="资产属性:"+(StringUtil.isNotNull(list.get(i).getAssetSource())?list.get(i).getAssetAttributeName():" ")+";";
System.out.println(ms);
n = demo.getJNativeByFunction("BPLA_PrintQR");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "QA,"+list.get(i).getAssetNo());
n.setParameter(1, Type.INT, "330");
n.setParameter(2, Type.INT, "60");
n.setParameter(3, Type.INT, "3");
n.setParameter(4, Type.INT, "2");//使用1 扫描枪能扫出结果 使用2手机能扫出结果
n.setParameter(5, Type.INT, "0");
n.setParameter(6, Type.INT, "50");
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, "Arial");
// 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, "1");
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();
}
}
}
}
// public static void main(String[] args) {
// CopyOfDemo demo = new CopyOfDemo();
// System.loadLibrary("bpladll");
// System.loadLibrary("LabelUSBPrintDll");
// System.loadLibrary("ByUSBInt");
// 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_Set");
// n.setRetVal(Type.INT);
// n.setParameter(0, Type.INT, "2");
// n.setParameter(1, Type.INT, "0");
// n.setParameter(2, Type.INT, "0");
// n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_Set");
//
//
//// n = demo.getJNativeByFunction("BPLA_SetPaperLength");
//// n.setRetVal(Type.INT);
//// n.setParameter(0, Type.INT, "350");
//// n.invoke();
//// System.out.println(n.getRetVal() + ":BPLA_SetPaperLength");
//
//
// n = demo.getJNativeByFunction("BPLA_SetEnd");
// n.setRetVal(Type.INT);
// n.setParameter(0, Type.INT, "112");
// n.invoke();
// System.out.println(n.getRetVal() + ":BPLA_SetEnd");
//
// 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, "30");
// 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, "Arial");
// 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, "价格(元):35");
// n.setParameter(1, Type.INT, "4");
// n.setParameter(2, Type.INT, "180");
// n.setParameter(3, Type.STRING, "Arial");
// 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, "Arial");
//// 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, "Arial");
//// 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, "Arial");
//// 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, "Arial");
//// 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, "Arial");
//// 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, "20");
// 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, "Arial");
// 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, "1");
// 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);
}
}
不明白的可以联系我,QQ:1027035944
标签:java,STRING,INT,System,DLL,二维码,setParameter,BPLA,Type 来源: https://www.cnblogs.com/kkdn/p/12453715.html