在WEB下打印條碼的傳統(tǒng)辦法,一種是在客戶端操作系統(tǒng)內(nèi)安裝專門的條碼字體庫;另外一種辦法是在服務(wù)器端提前生成條碼圖,然后客戶端用輸出圖片的方式來打印。兩種辦法的弊端是顯而易見的,對于條碼值更長更復(fù)雜的二維碼,第一種方式甚至都無法實(shí)現(xiàn)了,只能靠第二種打印圖片的方式,但假如條碼的內(nèi)容值是前端頁面程序通過用戶操作臨時(shí)產(chǎn)生的(例如JS富客戶端),那么這種方式也沒轍了。
用免費(fèi)打印控件Lodop輸出條碼,就克服了以上所有弊端,顯然簡單可行的多。這種方式不需要安裝條碼字庫,也不需要服務(wù)器端預(yù)先生成圖片,WEB頁面用javascript語句調(diào)用控件函數(shù)直接輸出,打印時(shí)無論一維條碼還是二維碼,僅需要一行語句就可以實(shí)現(xiàn),語法格式如下:
LODOP.ADD_PRINT_BARCODE(Top,Left,Width,Height,BarCodeType,BarCodeValue);
函數(shù)的前四個(gè)參數(shù)用來控制條碼在紙張中的輸出位置和區(qū)域大小,最后倆參數(shù)指明條碼的類型和內(nèi)容值。條碼類型的可選值很多,當(dāng)其為"QRCode"時(shí)表示打印輸出QRCODE型二維碼,例如下面的真實(shí)語句:
LODOP.ADD_PRINT_BARCODE(10,20,300,300,"QRCode","1234567內(nèi)容可以包含漢字");
這里兩個(gè)300表示條碼區(qū)域?qū)捄透叨际?00px(1px=1/96英寸),控件會(huì)根據(jù)這個(gè)區(qū)域值來自動(dòng)適配QRCODE的版本(QRCodeVersion),版本是QRCODE二維碼的重要屬性概念,它決定了內(nèi)容值的長度,目前控件支持版本1、3、7、14等四個(gè)最常用的版本,對應(yīng)的內(nèi)容值長度如下:
版本1 => 最大內(nèi)容長度是14個(gè)字符或7個(gè)漢字;
版本3 => 最大內(nèi)容長度是42個(gè)字符或21個(gè)漢字;
版本7 => 最大內(nèi)容長度是122個(gè)字符或61個(gè)漢字;
版本14=> 最大內(nèi)容長度是362個(gè)字符或181個(gè)漢字;
最后的版本14都可以在這么小的區(qū)域內(nèi)打印一篇短文了,可見二維碼的科學(xué)性和信息優(yōu)勢有多大呀!但高版本由于條碼密度大,掃描失敗可能性增加,所以有時(shí)候你可能非常希望打印低版本的條碼,如下這句指令就可以強(qiáng)制控件按版本3來打?。?/P>
LODOP.SET_PRINT_STYLEA(0,"QRCodeVersion",3);
正常情況下需要以上兩行指令才達(dá)到目的,這樣說是不是感覺我也是標(biāo)題黨呀,呵呵,當(dāng)然,以上僅是我的粗淺認(rèn)識(shí),還請朋友們留言指正。
在線演示如下:http://mt.runon.cn/samples/PrintSample11.html
該文章在 2012/9/25 1:06:43 編輯過