Java项目使用Bartender标签打印(通过jacob)

文章介绍了如何在Java项目中利用jacob库调用Bartender软件进行标签打印。首先,需通过Maven将jacob.jar添加到本地仓库,然后将对应的dll文件放入系统目录。接着,在代码中初始化COM线程,创建并操作Bartender的ActiveXComponent,设置模板参数并进行打印。最后,提供了Bartender模板和打印对象BO的相关信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论 18
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

提百万的征程

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值