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

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

一、bartender软件安装

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

二、标签模板设计

        1.单个打印模板设计:

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

C#调用bartender进行动态打印以及批量打印的完整教程_第1张图片

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

2.批量打印模板设计

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

根据向导下一步选择

C#调用bartender进行动态打印以及批量打印的完整教程_第2张图片

文本文件。

C#调用bartender进行动态打印以及批量打印的完整教程_第3张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第4张图片

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

 C#调用bartender进行动态打印以及批量打印的完整教程_第5张图片

 C#调用bartender进行动态打印以及批量打印的完整教程_第6张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第7张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第8张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第9张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第10张图片

C#调用bartender进行动态打印以及批量打印的完整教程_第11张图片

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

 我这里的版本是bartender10.1

三、动态库引入

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

C#调用bartender进行动态打印以及批量打印的完整教程_第12张图片

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

C#调用bartender进行动态打印以及批量打印的完整教程_第13张图片

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

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

批量打印的效果如下。

C#调用bartender进行动态打印以及批量打印的完整教程_第14张图片

 ///


        /// 单个打印
        ///

        ///
        ///
        private void BtnSinglePrint_Click(object sender, EventArgs e)
        {
            BartenderHelper bartenderHelper = new BartenderHelper();
            string printMsg = "";// 打印结果消息
            Dictionary data = new Dictionary(); //打印内容
            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);
            }
        }

        ///


        /// 批量打印
        ///

        ///
        ///
        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 dataList = new List();
            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使用完整案例

你可能感兴趣的:(工具,winform,c#,批量打印,bartender)