当前位置:网站首页>C#调用bartender进行动态打印以及批量打印的完整教程
C#调用bartender进行动态打印以及批量打印的完整教程
2022-08-07 17:31:00 【11eleven】
信息化过程中难免接触到标签打印机,bartender是一款功能齐全的设计打印软件,可以设计标签模板内容,手动打印或者对接程序进行动态打印。应网友要求,出一个较为详细的教程。
一、bartender软件安装
这个就不用多说了,自行网上下载安装,建议专业版或者企业版。
二、标签模板设计
1.单个打印模板设计:
标签内容的动态值key设置,这个是我们动态调用时需要对应的。如图。这里我定义了一个二维码和一个文本为例。

先来设定单个打印的模板,这里设置数据源的名称就是单个打印的动态key了,后面在打印的时候会用到。
2.批量打印模板设计
批量打印的话这里以文本数据的模式为例因为比较简单。如图先设置数据库数据源
根据向导下一步选择

文本文件。

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

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


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

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

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

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


到这里批量打印的模板就设计好了。
我这里的版本是bartender10.1
三、动态库引入
来到visualStudio中进行动态库引入。右键添加引入DLL。

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

我们改成PDF打印输出来看看效果。
调用稍微有点耗时,不过问题不大。
批量打印的效果如下。

/// <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 [email protected]"{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 = [email protected]"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 = [email protected]"{Environment.CurrentDirectory}//模板//batchTest.btw";//模板路径
var isOk = bartenderHelper.BTPrintByDataBase(bartenderFilePath, fileName);
if (!isOk)
{
MessageBox.Show("fail:");
}
}
五、简单源码开放
遇到打印有问题的话,最好管理员权限运行,bartender的打印需要管理员权限。
边栏推荐
猜你喜欢

ps提示由于程序错误Photoshop无法完成请求怎么办

cad打印黑白如何设置 CAD黑白打印的设置步骤
![[Interview Preparation Chapter] Jiwang (1) Basics - 1 TCP/IP Network Model](/img/60/e170dd16fc15643f686a3113563e7d.png)
[Interview Preparation Chapter] Jiwang (1) Basics - 1 TCP/IP Network Model

qq聊天截图怎么截长图 使用qq长截图的图文步骤

Service host: what to do if the local service network is limited

win7系统垃圾怎么清理_win7系统垃圾清理的方法

CNAS认可准则之纠正、纠正措施和预防措施的区别

w7电脑格式化怎么弄 笔记本电脑如何格式化win7

启动win7系统开机黑屏提示0xc000000f错误代码怎么办

怎么清理电脑C盘 win7清理电脑c盘垃圾文件方法介绍
随机推荐
设置开机项的步骤 怎么设置开机启动项
How to set a laptop lock screen password How to set a laptop lock screen password
How to adjust the computer settings for eye protection in win7 _ win7 eye protection color setting method
tiup cluster scale-in
电脑上看电视没有声音怎么办 台式电脑看视频没声音怎么办
戴尔灵越15pro配置 戴尔灵越15pro值得买吗
网页不让复制的文字如何复制 不允许复制的网页怎么复制
win7系统运行游戏不兼容怎么办 win7电脑不兼容游戏的解决方法
MySQL 锁效果演示
win7旗舰版产品密钥永久激活 win7旗舰版激活码最新2022
Concurrent programming essays necessary for interviews
电脑上怎么打符号 电脑上怎么输入特殊符号
co_fun 社区提供 微软秋招笔试 8.6 题解
笔记本电脑无线网卡怎么办理 如何办理笔记本电脑的无线上网卡
轻松解决笔记本触摸板失灵有妙招
调整台式电脑屏幕亮度的步骤 台式机显示器亮度怎么调
tiup cluster reload
笔记本接显卡怎么操作 笔记本外接显卡详细教程
电脑屏幕老是一下黑屏一下亮怎么回事 电脑显示器老是黑一下又亮如何解决
Dispatchers principle of Kotlin coroutine