1. 河豚號 > 生活百科 >

btw是什么格式文件(實(shí)操btw文件格式轉(zhuǎn)換)

在我們的日常生活中,條碼隨處可見,包含一維碼與二維碼,目前市面上也有幾款出色的條碼設(shè)計軟件,比如BarTender,F(xiàn)astReport等,當(dāng)我們購買了版權(quán)之后就可以使用這幾款軟件設(shè)計我們需要的條碼了,隨著用戶需求的不斷提升,加上一些工廠推行 i4.0 發(fā)展,大力導(dǎo)入自動化設(shè)備與軟件系統(tǒng),通常情況下我們只需要通過系統(tǒng)自動打印條碼,下面介紹一下C#實(shí)現(xiàn)的幾種打印方式!

1.通過斑馬軟件制作模板

將模板導(dǎo)出為 prn 文件,這個文件是可以通過記事本打開的,文件內(nèi)容格式如下:

^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 就是我們需要打印的文字內(nèi)容,我們只需要在程序中將這一段代碼里面這兩個變量替換成實(shí)際的文字就可以了。

2.使用BarTender制作btw的模板文件

文件格式即為.btw,為模板文件指定數(shù)據(jù)源,數(shù)據(jù)源的種類很多,比如數(shù)據(jù)庫、文本文件等等,這里我以文本文件舉例:

首先制作好模板

 

C#實(shí)現(xiàn)條碼打印的幾種常見方式

 

設(shè)置模板數(shù)據(jù)源

其中Temp.ActiveCode1和Temp.ActiveCode2則是兩個文本文件,文件格式為:

ActiceCode1,ActiceCode2

A000000001,A000000002

程序中根據(jù)前臺傳入的數(shù)據(jù),將最終的數(shù)據(jù)寫入到這個數(shù)據(jù)源中,然后通過拆分這個數(shù)據(jù)源獲取每一個字段,調(diào)用打印方法。

Process.Start(bartendAdd, "/NOSPLASH /F="" + btw + "" /D="" + sn + "" /P /X");

bartendAdd : BarTender軟件的安裝路徑.

btw : 模板文件

sn : 需要打印的字符串

3.通過FastReport打印

這里重點(diǎn)說一下參數(shù)的傳遞和接收問題,其它的應(yīng)該都還比較簡單,我們首先創(chuàng)建一個模板文件,這里值得一提的是,使用FastReport.Net設(shè)計器產(chǎn)生的文件是以frx為后綴的文件,以FastReport.Studio設(shè)計器產(chǎn)生的文件是以fr3為后綴的文件。

 

C#實(shí)現(xiàn)條碼打印的幾種常見方式

 

創(chuàng)建新的模板文件

 

C#實(shí)現(xiàn)條碼打印的幾種常見方式

 

將參數(shù)傳遞給報表文件

 

C#實(shí)現(xiàn)條碼打印的幾種常見方式

 

接收傳遞過來的參數(shù)

 

C#實(shí)現(xiàn)條碼打印的幾種常見方式

 

獲取到參數(shù)值,效果預(yù)覽

4.使用ZXing生成條碼

// 1.設(shè)置條形碼規(guī)格

EncodingOptions encodeOption = new EncodingOptions();

encodeOption.Height = 20; // 必須制定高度、寬度

encodeOption.Width = 100;

// 2.生成條形碼圖片并保存

ZXing.BarcodeWriter wr = new BarcodeWriter();

wr.Options = encodeOption;

wr.Format = BarcodeFormat.CODE_128; // 條形碼規(guī)格

encodeOption.PureBarcode = true; // 是否是純碼,如果為 false,則會在圖片下方顯示數(shù)字

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); //打印文字

本文由網(wǎng)上采集發(fā)布,不代表我們立場,轉(zhuǎn)載聯(lián)系作者并注明出處:http://m.zltfw.cn/shbk/38479.html

聯(lián)系我們

在線咨詢:點(diǎn)擊這里給我發(fā)消息

微信號:15705946153

工作日:9:30-18:30,節(jié)假日休息