资源简介
使用java实现调用打印机动态指令打印条码。
代码片段和文件信息
import org.xvolks.jnative.JNative;
import org.xvolks.jnative.Type;
import org.xvolks.jnative.exceptions.NativeException;
import org.xvolks.jnative.pointers.Pointer;
import org.xvolks.jnative.pointers.memory.MemoryBlockFactory;
/**
* 条形码打印工具类
*
* @author xiaobin_luo
*
*/
public class NativeDllFacadeUtil {
private static JNative term = null;
private static String szSavePath = “C:\\Argox“;
private static String szSaveFile = “C:\\Argox\\PPLA_Example.Prn“;
private static final String PRINTER_DLL = “Winppla.dll“;
/**
* 加载dll文件
*/
static {
System.load(“G:\\kd_work\\dll\\BCLW32.dll“);
System.load(“G:\\kd_work\\dll\\WinPort.dll“);
System.load(“G:\\kd_work\\dll\\Winppla.dll“);
System.load(“G:\\kd_work\\dll\\Winpplb.dll“);
}
private static JNative getJNativeByFunction(String functionName) throws NativeException{
return new JNative(PRINTER_DLL functionName);
}
/**
* 取得或秀出此函数库版本资讯。
*
* @param nShowMessage
* 0 -> 讯息视窗不显现. 1 -> 讯息视窗显现。
* @return
* @throws NativeException
* @throws IllegalAccessException
*/
private static String A_Get_DLL_Version(int nShowMessage)
throws NativeException IllegalAccessException {
if (term != null) {
term = null;
}
String value = ““;
term = new JNative(“Winppla.dll“ “A_Get_DLL_Version“/* 函数名 */);
//term = new JNative(“Winpplb.dll“ “B_Get_DLL_Version“/* 函数名 */);
term.setRetVal(Type.INT); /* 返回值类型 */
term.setParameter(0 0); /* 左起第一个参数,索引为0 */
term.invoke();
value = term.getRetVal();
return value;
};
/**
* 传回 USB 的资料长度
*
* @return
* @throws NativeException
* @throws IllegalAccessException
*/
private static int A_GetUSBBufferLen() throws NativeException
IllegalAccessException {
if (term != null) {
term = null;
}
int value = 0;
term = new JNative(“Winppla.dll“ “A_GetUSBBufferLen“/* 函数名 */);
//term = new JNative(“Winpplb.dll“ “B_GetUSBBufferLen“/* 函数名 */);
term.setRetVal(Type.INT); /* 返回值类型 */
term.invoke();
value = term.getRetValAsInt();
return value;
};
/**
* 储存 USB 埠的资料
*
* @param buf
* 储存 USB Printer 资料
* @return 0 -> OK.
* @throws NativeException
* @throws IllegalAccessException
*/
private static int A_EnumUSB(byte[] buf) throws NativeException
IllegalAccessException {
if (term != null) {
term = null;
}
int value = 0;
Pointer pointer = new Pointer(MemoryBlockFactory.createMemoryBlock(buf.length));
pointer.setByteAt(0 buf[0]);
term = new JNative(“Winppla.dll“ “A_EnumUSB“/* 函数名 */);
//term = new JNative(“Winpplb.dll“ “B_EnumUSB“/* 函数名 */);
term.setRetVal(Type.INT); /* 返回值类型 */
//term.setParameter(0 pointer); /* 左起第一个参数,索引为0 */
term.setParameter(0Type.PSTRUCT buf);
term.invoke();
value = term.getRetValAsInt();
return value;
};
/**
* 取得 USB 埠的装置名称和装置路径。
*
* @param nPort
* @param pDevice
- 上一篇:javaba
se64-1.3.1 - 下一篇:文本相似度对比器Java
相关资源
- JAVA JSP公司财务管理系统 源代码 论文
- JSP+MYSQL旅行社管理信息系统
- 推荐算法的JAVA实现
- 基于Java的酒店管理系统源码(毕业设
- java-图片识别 图片比较
- android毕业设计
- java23种设计模式+23个实例demo
- java Socket发送/接受报文
- JAVA828436
- java界面美化 提供多套皮肤直接使用
- 在线聊天系统(java代码)
- 基于Java的图书管理系统807185
- java中实现将页面数据导入Excel中
- java 企业销售管理系统
- java做的聊天系统(包括正规课程设计
- Java编写的qq聊天室
- 商店商品管理系统 JAVA写的 有界面
- JAVA开发聊天室程序
- 在linux系统下用java执行系统命令实例
- java期末考试试题两套(答案) 选择(
- JAVA3D编程示例(建模、交互)
- Java 文件加密传输
- java做的房产管理系统
- 基于jsp的bbs论坛 非常详细
- [免费]java实现有障碍物的贪吃蛇游戏
- java Servlet投票实例
- 操作系统作业 (pv,作业管理,等5个
- 基于C/S架构考试系统(Java)
- java access 仓库管理系统 源码
- 一元多项式相加 java实现
评论
共有 条评论