Java项目中使用Bartender打印
2023-12-14 21:14:10
第零步:
下载Jacobhttps://download.csdn.net/download/Bof_jangle/88612066
第一步:通过mvn命令将包中的jar包添加到maven仓库,mvn命令如下?
mvn install:install-file -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.19 -Dpackaging=jar -Dfile=jacob.jar
第二步:复制jacob-1.19-x64.dll和jacob-1.19-x86.dll文件放到C:\WINDOWS\System32目录下
第三步:
<dependency>
<groupId>com.jacob</groupId>
<artifactId>jacob</artifactId>
<version>1.19</version>
</dependency>
第四步(支持JDK8,不支持JDK11):
package socket;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
public class BartenderUtils {
public static void printTag(String serNo, String f5, String f1) {
// 要运行COM组件,需要先添加jacob包
ComThread.InitSTA();
// 加载Bartender进程,需要先安装Bartender。
ActiveXComponent btApp = new ActiveXComponent("BarTender.Application");
// 加载Bartender模板控件
Dispatch btFormats = btApp.getProperty("Formats").toDispatch();
// 调用模板,bo.getTemplatePath()方法(获取模版路径)你自己定义
Dispatch btFormat = Dispatch.call(btFormats, "Open", "D:/plc/plc01.btw", false, "").toDispatch();
// 传递参数,参数名称要和Bartender中设置的名称一样,不然会失败,bo是打印对象
// 首轮最大
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd5", f1);
// 末轮最大
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd4", f5);
// 时间
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd3", serNo.substring(serNo.length() - 14));
// 序号
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd2", serNo.substring(0, serNo.length() - 14));
// 二维码
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd1", serNo);
// 设置打印份数,默认是1份可以不设置
Dispatch printSetup = Dispatch.get(btFormat, "PrintSetup").toDispatch();
Dispatch.put(printSetup, "IdenticalCopiesOfLabel", 1);
// 打印,Bartender会自动选择模板中设置的打印机打印
Dispatch.call(btFormat, "PrintOut", false, false);
// 打印完成,关闭模板控件
Dispatch.call(btFormat, "Close", 0);
// 关闭Bartender进程
Dispatch.call(btApp, "Quit", 0);
}
}
第五步:具名数据源
创建好标签和具名数据源之后,用鼠标拖动具名数据源,移动到对应的标签内容上即可完成映射。
Dispatch.call(btFormat, "SetNamedSubStringValue", "dtd5", f1);
代码中的dtd5就是具名数据源的名称,f1就是要传递的变值。这样一一映射就好了(二维码也一样,直接传值就OK了)。
参考文献:
文章来源:https://blog.csdn.net/Bof_jangle/article/details/134894382
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!