Bartender官方并不支持java语言,所以java项目需要通过jacob(Java COM Bridge,即java和com组件间的桥梁)来调用Bartender,jacob包我的百度网盘有分享,有需要的自己提取一下,下载链接:
https://pan.baidu.com/s/1f4DBlotmo09siahKKXMtnw?pwd=aj1r
提取码:aj1r
第一步:通过mvn命令将包中的jar包添加到maven仓库,mvn命令如下(-dfile改为自己的路径):
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>
第四步:
/**
* Bartender标签打印
*
* @author 提百万的征程
* @date 2023年4月4日
*/
public class BartenderUtils {
public static void printTag(PrintLabelBO bo){
//要运行COM组件,需要先添加jacob包
ComThread.InitSTA();
//加载Bartender进程,需要先安装Bartender,我安装的是BT2022版本。
ActiveXComponent btApp = new ActiveXComponent("BarTender.Application");
//加载Bartender模板控件
Dispatch btFormats = btApp.getProperty("Formats").toDispatch();
//调用模板,bo.getTemplatePath()方法(获取模版路径)你自己定义
Dispatch btFormat = Dispatch.call(btFormats, "Open", bo.getTemplatePath(), false, "").toDispatch();
//传递参数,参数名称要和Bartender中设置的名称一样,不然会失败,bo是打印对象
// 型号
Dispatch.call(btFormat, "SetNamedSubStringValue", "model", bo.getModel());
// 品牌
Dispatch.call(btFormat, "SetNamedSubStringValue", "brand", bo.getBrand());
// 数量
Dispatch.call(btFormat, "SetNamedSubStringValue", "number", bo.getNumber());
// 生产周期
Dispatch.call(btFormat, "SetNamedSubStringValue", "productionCycle", bo.getProductionCycle());
// 产地
Dispatch.call(btFormat, "SetNamedSubStringValue", "provenance", bo.getProvenance());
// 库位
Dispatch.call(btFormat, "SetNamedSubStringValue", "positionName", bo.getPositionName());
// 条形码
Dispatch.call(btFormat, "SetNamedSubStringValue", "barCode", bo.getBarCode());
// 二维码
Dispatch.call(btFormat, "SetNamedSubStringValue", "qrCode", bo.getQrCode());
//设置打印份数,默认是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);
}
}
Java代码就到这了,接下来就是去就是安装Bartender,自定义打印模板,这个就不多说了。
下面提供一个Bartender模版,多花两分钟点一点对照一下模版中的参数名和代码中的参数名就知道如何自定义了。
http://链接:https://pan.baidu.com/s/1bBq-THosjxCpHtyXxXq_0w?pwd=tyyw
提取码:tyyw