實操btw文件格式轉換「btw是什麼格式文件」

在我們的日常生活中,條碼隨處可見,包含一維碼與二維碼,目前市面上也有幾款出色的條碼設計軟件,比如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,為模板文件指定數據源,數據源的種類很多,比如數據庫、文本文件等等,這裡我以文本文件舉例:

首先製作好模板

C#實現條碼打印的幾種常見方式

設置模板數據源

其中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為後綴的文件。

C#實現條碼打印的幾種常見方式

創建新的模板文件

C#實現條碼打印的幾種常見方式

將參數傳遞給報表文件

C#實現條碼打印的幾種常見方式

接收傳遞過來的參數

C#實現條碼打印的幾種常見方式

獲取到參數值,效果預覽

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-hant/n/287772.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
投稿專員的頭像投稿專員
上一篇 2024-12-23 13:40
下一篇 2024-12-23 13:40

相關推薦

發表回復

登錄後才能評論