日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

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

發布時間:2023/12/15 C# 64 豆豆
生活随笔 收集整理的這篇文章主要介紹了 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进行动态打印以及批量打印的完整教程的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。