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