Ⅰ 家博列印機Gp1225T怎麼自動導帶
這個你可以找一找一些懂得這些打人機的師傅 然而然後讓他們去教你如何操作
Ⅱ 做餐飲系統,有列印管理這一功能,求java如何操控佳博熱敏列印機,如何列印(80xx系列)
//這個得通過C/C++來調用硬體的
//一般都是通過C/C++做成DLL
//java可以載入DLL並通過編碼調用相關介面來實現調用列印機
Ⅲ java怎麼連接Gprinter條形碼列印機
條形碼列印機型號不同,不過思路都是一樣的,以下可參考,另外需要你自己參考你的條形銷彎謹碼列印機的介面說明。
因項目需要,對Godex EZ2300條碼機進行調用列印, 驅動為Ez2000.dll, 用JNI可以實現調用,但比較麻煩, 需
要用到VC6進行DLL封裝,改用JNative組件進行虧基調用, 步驟如下:
1. 下載JNative-1.3.2.zip組件庫
2. 解壓出來後有JNative.jar / JNativeCpp.dll / libJNativeCpp.so三個文件,JNative.jar
置於%JAVA_HOME%/jre/lib/ext目錄下, JNativeCpp.dll置於%SYSTEM%/WINDOWS/SYSTEM32目
錄下
3.將Ez2000.dll置於%SYSTEM%/WINDOWS/SYSTEM32目錄以及%JAVA_HOME%/jdk/bin目錄下
4.
具體Java代碼如下:
package com.athens.test;
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 = "Ez2000.dll";
public static void main(String [] args) {
Demo demo = new Demo();
System.loadLibrary("Ez2000");
JNative n = null;
try {
n = demo.getJNativeByFunction("isready");
n.setRetVal(Type.INT);
// n.setParameter(1, Type.VOID, "");
n.invoke();
Integer isready = Integer.parseInt(n.getRetVal());
if(isready == 1){
System.out.println("條碼機可以開始接收資料鬧跡!Starting...");
System.out.println("Starting...");
// 打開埠
n = demo.getJNativeByFunction("openport");
n.setParameter(0, Type.STRING, "0");
n.invoke();
// 設定參數
n = demo.getJNativeByFunction("setup");
n.setRetVal(Type.INT);
n.setParameter(0, Type.INT, "30");
n.setParameter(0, Type.INT, "7");
n.setParameter(0, Type.INT, "2");
n.setParameter(0, Type.INT, "1");
n.setParameter(0, Type.INT, "0");
n.setParameter(0, Type.INT, "0");
n.invoke();
// 發出指令
n = demo.getJNativeByFunction("sendcommand");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "W70");
n.invoke();
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "^P1");
n.invoke();
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "^L");
n.invoke();
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "AC,20,60,1,1,1,0,TEST");
n.invoke();
// 發送條形碼
n = demo.getJNativeByFunction("ecTextOut");
n.setParameter(0, Type.INT, "20");
n.setParameter(1, Type.INT, "10");
n.setParameter(2, Type.INT, "34");
n.setParameter(3, Type.STRING, "標楷體");
n.setParameter(4, Type.STRING, "Athens Testing Successlly!!!");
n.invoke();
// 發出指令
n = demo.getJNativeByFunction("sendcommand");
n.setRetVal(Type.INT);
n.setParameter(0, Type.STRING, "E");
n.invoke();
// 關閉埠
n = demo.getJNativeByFunction("closeport");
n.invoke();
System.out.println("Ending...");
}else{
System.out.println("條碼機無法接收資料!");
}
}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);
}
}