C#调用bartender进行动态打印以及批量打印的完整教程
信息化過程中難免接觸到標簽打印機,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 =$@"{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使用完整案例
總結
以上是生活随笔為你收集整理的C#调用bartender进行动态打印以及批量打印的完整教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 啊哈哈
- 下一篇: c#操作excel 使用excel自带