在我們的日常生活中,條碼隨處可見,包含一維碼與二維碼,目前市面上也有幾款出色的條碼設計軟體,比如BarTender,FastReport等,當我們購買了版權之後就可以使用這幾款軟體設計我們需要的條碼了,隨著用戶需求的不斷提升,加上一些工廠推行 i4.0 發展,大力導入自動化設備與軟體系統,通常情況下我們只需要通過系統自動列印條碼,下面介紹一下C#實現的幾種列印方式!
1.通過斑馬軟體製作模板
將模板導出為 prn 文件,這個文件是可以通過記事本打開的,文件內容格式如下:
^XA^LH30,0^JMA^XZ
~DG000.GRF,04096,128,
,::::::::::::::::::rQF0,:::,::::::::~DG001.GRF,04096,128,
,:::::::rQF0,:::a,:::::::::::::::::::~DG002.GRF,04096,128,
,:::::::::::::::rQF0,::::,::::::::::~DG003.GRF,04096,128,
,::::::::::::::::::::rQF0,::::,:::::^XA
^MMT
^PW1004
^LL1890
^LS0
^FT0,544^XG000.GRF,1,1^FS
^FT0,1856^XG001.GRF,1,1^FS
^FT0,1792^XG002.GRF,1,1^FS
^FT0,1728^XG003.GRF,1,1^FS
^FT21,449^A0N,33,33^FH^FDUPC:^FS
^FT425,450^A0N,33,33^FH^FDEAN:^FS
^BY1,3,18^FT604,1691^BCN,,N,N
^FD>:{SN1}^FS
^BY2,3,30^FT494,1638^BCN,,N,N
^FD>:{SN2}^FS
SN1 跟 SN2 就是我們需要列印的文字內容,我們只需要在程序中將這一段代碼裡面這兩個變數替換成實際的文字就可以了。
2.使用BarTender製作btw的模板文件
文件格式即為.btw,為模板文件指定數據源,數據源的種類很多,比如資料庫、文本文件等等,這裡我以文本文件舉例:
首先製作好模板

設置模板數據源
其中Temp.ActiveCode1和Temp.ActiveCode2則是兩個文本文件,文件格式為:
ActiceCode1,ActiceCode2
A000000001,A000000002
程序中根據前台傳入的數據,將最終的數據寫入到這個數據源中,然後通過拆分這個數據源獲取每一個欄位,調用列印方法。
Process.Start(bartendAdd, "/NOSPLASH /F="" + btw + "" /D="" + sn + "" /P /X");
bartendAdd : BarTender軟體的安裝路徑.
btw : 模板文件
sn : 需要列印的字元串
3.通過FastReport列印
這裡重點說一下參數的傳遞和接收問題,其它的應該都還比較簡單,我們首先創建一個模板文件,這裡值得一提的是,使用FastReport.Net設計器產生的文件是以frx為後綴的文件,以FastReport.Studio設計器產生的文件是以fr3為後綴的文件。

創建新的模板文件

將參數傳遞給報表文件

接收傳遞過來的參數

獲取到參數值,效果預覽
4.使用ZXing生成條碼
// 1.設置條形碼規格 EncodingOptions encodeOption = new EncodingOptions(); encodeOption.Height = 20; // 必須制定高度、寬度 encodeOption.Width = 100; // 2.生成條形碼圖片並保存 ZXing.BarcodeWriter wr = new BarcodeWriter(); wr.Options = encodeOption; wr.Format = BarcodeFormat.CODE_128; // 條形碼規格 encodeOption.PureBarcode = true; // 是否是純碼,如果為 false,則會在圖片下方顯示數字 System.Threading.Thread.Sleep(100); //間隔 Bitmap img = wr.Write(SerialNumber); // 生成圖片 e.Graphics.DrawImage(img, barcode_x + x_value, barcode_y + y_value); //列印條碼 e.Graphics.DrawString(SerialNumber.Trim(), font1, Brushes.Black, 40 + x_value, 36 + y_value); //列印文字
原創文章,作者:投稿專員,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/287772.html
微信掃一掃
支付寶掃一掃