java调用Bartender文件打印标签

1、下载jacob(点击进入地址)

2、将下载好的jacob.zip解压,添加maven仓库

切记DLL文件不要删除。有关dll文件代码页面有详细解释。

mvn install:install-file -Dfile=C:/Users/sprt_java/Downloads/jacob-1.21/jacob-1.21/jacob.jar -DgroupId=com.jacob -DartifactId=jacob -Dversion=1.21 -Dpackaging=jar

C:/Users/sprt_java/Downloads/jacob-1.21/jacob-1.21/jacob.jar 改为自己的文件路径

3、将添加好的jacob添加到项目工程中

<dependency>
    <groupId>com.jacob</groupId>
    <artifactId>jacob</artifactId>
    <version>1.21</version>
</dependency>

4、准备标签模板

5、代码编写

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
import com.jacob.com.LibraryLoader;

public class BarTenderPrint {

    public static void main(String[] args) {
        
        // 设置 DLL 文件路径(可以设置项目文件路径)
        //自己开发时可以把dll放在C:\WINDOWS\System32路径下
        //但是项目打包部署服务器也要同样放在路径下
        //所以更推荐放在项目路径下,这样可以直接打包项目使用。
        // 根据jdk位数看看用什么位数的x64.dll还是x86
        String jacobDllVersionToUse = "jacob-1.21-x64.dll"; // or jacob-1.21-x86.dll for 32-bit JVM
        String jacobDllFullPath = "C:/Users/sprt_java/Downloads/jacob-1.21/jacob-1.21/" + jacobDllVersionToUse;

        // 加载 Jacob DLL 文件
        System.setProperty(LibraryLoader.JACOB_DLL_PATH, jacobDllFullPath);
        LibraryLoader.loadJacobLibrary();

        try {
            // 初始化 BarTender 应用程序
            ActiveXComponent btApp = new ActiveXComponent("BarTender.Application");
            btApp.setProperty("Visible", new Variant(false));

            // 打开指定的 BTW 文件
            Dispatch btFormats = btApp.getProperty("Formats").toDispatch();
            Dispatch btFormat = Dispatch.call(btFormats, "Open", "C:\\Users\\sprt_java\\Downloads\\模版001.btw", new Variant(false), new Variant("")).toDispatch();

            // 设置打印机名称
            Dispatch printSetup = Dispatch.get(btFormat, "PrintSetup").toDispatch();
            Dispatch.put(printSetup, "Printer", "Zebra 110Xi4 (600 dpi)");

            // 设置打印张数
            Dispatch.put(btFormat, "IdenticalCopiesOfLabel", 10);

            // 设置标签字段值
            Dispatch.call(btFormat, "SetNamedSubStringValue", "model", "test001");
            Dispatch.call(btFormat, "SetNamedSubStringValue", "qrCode", "test001");

            // 打印标签
            Dispatch.call(btFormat, "PrintOut", new Variant(true), new Variant(false));
            // 保存赋值数据
            Dispatch.call(btFormat, "Save");
            // 关闭 BTW 文件
            Dispatch.call(btFormat, "Close", new Variant(false));
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

6、运行结果

Bartender是一款流行的标签和条形码打印软件,可以与Java集成。以下是一些集成Bartender的步骤: 1. 首先,需要安装Bartender软件并创建一个标签模板。 2. 在Java应用程序中,可以使用BartenderJava组件来打印标签。可以使用Bartender自带的Java组件,也可以使用Java的COM桥接来使用Bartender的COM组件。 3. 使用Java代码连接到Bartender的API,设置打印参数,例如标签模板,打印机名称等。 4. 调用Bartender的Print方法来打印标签。 下面是一个简单的Java代码示例,用于连接到Bartender的API并打印标签: ``` import java.awt.print.PrinterJob; import java.io.File; import com4j.*; public class BartenderExample { public static void main(String[] args) { // Connect to the Bartender application IApplication bartender = ClassFactory.createApplication(); // Open the label template file ILabelFormatDocument label = bartender.documents().open("C:\\label.btw"); // Set the printer name label.printSetup().printerName("Printer Name"); // Set the number of copies label.printSetup().numberOfSerializedLabels(1); // Set up the data source ISubString subString = label.databaseConnections().item(1).queryString().subStrings().item(1); subString.value("Data to print"); // Print the label PrinterJob job = PrinterJob.getPrinterJob(); job.setPrintService(bartender.printers().item(1).javaPrintService()); job.setPrintable(label); job.print(); // Close the label template file label.close(); } } ``` 注意,在使用BartenderJava组件之前,需要在Java项目中添加BartenderJava文件,并进行适当的配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值