收藏 | 举报 2010-10-20 02:29   关注:356   回答:2

如何用JAVA调用TLP条码打印机打印条码

已解决 悬赏分:15 - 解决时间 2025-06-04 23:41
现在在尝试用JAVA调用DLL文件打印,在调用kernel32.dll 的WriteFile方法时,没办法传参。各位有什么办法吗?
或者有其它的方法实现打印LABEL。说说有什么思路,最好是能有实现代码。
  • 游客
  支持(0)  |   反对(1)  |   举报 2010-10-21 20:41
一般来说条码打印机都有自己专门的DLL接口文件,不需要调用系统的Dll。
如果是支持接口开发,肯定会有DLL的说明文档。那么按照文档调用DLL的方法就可以了。不同的打印机接口方法不一样,所以没有现成的代码。
java 和 DLL 交互的话可以使用 JNative 包,比较方便。

首先 System.loadLibrary(dllName);

public Integer executeFunction(String dllName ,String functionName,Object[] params){
try {
JNative func = new JNative(dllName, functionName);
func.setRetVal(Type.INT);
for(int i=0;i<params.length;i++){
if(params[i] instanceof String)
func.setParameter(i, (String)params[i]);
else if(params[i] instanceof Integer)
func.setParameter(i, ((Integer)params[i]).intValue());
else if(params[i] instanceof Pointer)
func.setParameter(i, (Pointer)params[i]);
else if(params[i] instanceof Boolean)
func.setParameter(i,Type.INT, params[i].toString());
else if(params[i] instanceof byte[])
func.setParameter(i, Type.PSTRUCT,(byte[])params[i]);
}
func.invoke();
return func.getRetValAsInt();
} catch (Exception e) {
throw new RuntimeException(e);
}
}
调用的时候传dll名,函数名,和接口参数,详细的可以去了解一下。
  • 游客
举报 2010-10-20 05:34
石家庄泵业网,以泵阀行业为主题的专业网站。我在那买过,东西质量挺好,服务质量也好。

如果对您有帮助,请记得采纳为满意答案,谢谢!祝您生活愉快!

vaela
 
  文明转播  行业协会  备案信息  安全网站