private static final String PRINTER_DLL = "bpladll.dll";
ublic 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_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();
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(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();
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);
}