C#调用bartender进行动态打印以及批量打印的完整教程

信息化过程中难免接触到标签打印机,bartender是一款功能齐全的设计打印软件,可以设计标签模板内容,手动打印或者对接程序进行动态打印。应网友要求,出一个较为详细的教程。

一、bartender软件安装

        这个就不用多说了,自行网上下载安装,建议专业版或者企业版。

二、标签模板设计

        1.单个打印模板设计:

标签内容的动态值key设置,这个是我们动态调用时需要对应的。如图。这里我定义了一个二维码和一个文本为例。

*

先来设定单个打印的模板,这里设置数据源的名称就是单个打印的动态key了,后面在打印的时候会用到。

2.批量打印模板设计

批量打印的话这里以文本数据的模式为例因为比较简单。如图先设置数据库数据源

根据向导下一步选择

655211fc335d4bd68bcfddf15c418f00.png

文本文件。

92e6975da61d4499bd4dd539ba607e2f.png

编码注意选择UTF8不然中文会乱码。

b229499475c1494ab35d92e85a6010f6.png

文本文件内容如图,两列,列用引号框起来,多列逗号分割。

 521dcacf05f2476a97f08c0f622c427d.png

 ef70181e7264451089d5e60b22541c31.png

勾选第一行是列标题。完成后确定就可以刷新字段名。

5e13b24059d346f99e7f559ef2fde7ed.png

 下一步就是关联我们的模板中对应组件。

88825346389a44ea96503674338bdc99.png

选择我们的数据库字段,进行字段的关联如图。

509a00806fa44e8bb042a05c08363c4d.png

 另一个字段数量也是一样。

2b5d2d7adc104865b4839984340cbf6a.png

6c5faa3fc79d4908a93ed8d53c0a169a.png

到这里批量打印的模板就设计好了。

 我这里的版本是bartender10.1

三、动态库引入

来到visualStudio中进行动态库引入。右键添加引入DLL。

2e9ce340ea9f435eb0207b0ae3558498.png

四、使用封装好的打印方法,打印测试。

012cc1e831464003bb1b3bc8fde7512a.png

我们改成PDF打印输出来看看效果。

调用稍微有点耗时,不过问题不大。

批量打印的效果如下。

e3f803dbc2b8470695e02ebce23a33d9.png

 /// <summary>
        /// 单个打印
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnSinglePrint_Click(object sender, EventArgs e)
        {
            BartenderHelper bartenderHelper = new BartenderHelper();
            string printMsg = "";// 打印结果消息
            Dictionary<string, string> data = new Dictionary<string, string>(); //打印内容
            var dataArray = TxtSingleContent.Text.Split(",");
            if (dataArray.Length < 1) {
                MessageBox.Show("fail:格式不对");
                return;
            }
            // 组装内容
            data.Add("Code",dataArray[0]);
            data.Add("Qty", dataArray[1]);
            string bartenderFilePath =$@"{Environment.CurrentDirectory}//模板//test.btw";//模板路径
            var isOk = bartenderHelper.BTPrint(bartenderFilePath, data, out printMsg);
            if (!isOk) {
                MessageBox.Show("fail:"+printMsg);
            }
        }

        /// <summary>
        /// 批量打印
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BtnBatchPrint_Click(object sender, EventArgs e)
        {
            BartenderHelper bartenderHelper = new BartenderHelper();
            var lines = TxtBatchContent.Lines;
            if (lines.Count() < 1) {
                MessageBox.Show("fail:数据内容不对" );
                return;
            }
            // 生成文本数据
            string fileName = $@"printData_{Guid.NewGuid()}";// 文件名
            List<string> dataList = new List<string>();
            string title = "\"Code\",\"Qty\""; //列名
            dataList.Add(title);
            for (int i = 0; i < lines.Count(); i++) {
                var lineArr = lines[i].Split(',');
                if (lineArr.Count() < 1)
                {
                    MessageBox.Show("fail:数据内容不对");
                    return;
                }
                dataList.Add($"\"{lineArr[0]}\",\"{lineArr[1]}\"");
            }
            fileName = WriteLog(dataList,"printData", fileName);

            string bartenderFilePath = $@"{Environment.CurrentDirectory}//模板//batchTest.btw";//模板路径
            var isOk = bartenderHelper.BTPrintByDataBase(bartenderFilePath, fileName);
            if (!isOk)
            {
                MessageBox.Show("fail:");
            }
        }

五、源码开放

遇到打印有问题的话,最好管理员权限运行,bartender的打印需要管理员权限。

有需要定制打标软件需求的可以私信

bartender使用完整案例

  • 15
    点赞
  • 65
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 33
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 33
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

11eleven

你的鼓励是我创作的动力 !

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

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

打赏作者

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

抵扣说明:

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

余额充值