引言
在某些行業(yè)的信息系統(tǒng)中,針式打印機仍然被廣泛使用,主要是因為針式打印機能夠一次打印多聯(lián)紙張。有的業(yè)務(wù)為了實現(xiàn)機讀或是增加內(nèi)容的需要,使用二維條碼。使用二維條碼的好處是既能實現(xiàn)條碼槍機讀,又能在相同的面積下包含比直接打印字符更多的內(nèi)容,不過在針式打印機無法被條碼專用打印機取代的情況下直接使用針式打印機打印二維條碼,會出現(xiàn)打印誤差大導致識別率低、打印點密集導致紙張破損等問題。增大二維條碼模塊尺寸能改善識別率,卻導致容量下降,失去容量優(yōu)勢,這些問題導致使用針式打印機的系統(tǒng)一直無法使用二維條碼來提高性能。
1 二維條碼的特點
在水平和垂直方向的三維空間存儲信息的條碼,稱為二維條碼。早期出現(xiàn)的二維條碼屬于線性堆疊式,就是把多個一維條碼在縱向堆疊,這類二維條碼比較典型的是PDF417碼,如圖1 所示。
PDF417 條碼是由美國SYMBOL 公司發(fā)明的, PDF(Portable Data File) 意思是"便攜數(shù)據(jù)文件"。組成條碼的每一個條碼字符由4 個條和4 個空共17 個模塊構(gòu)成,故稱為PDF417 條碼。PDF417 條碼可表示數(shù)字、字母或二進制數(shù)據(jù),也可表示漢字。一個PDF417 條碼最多可容納1850 個字符或1108 B 的二進制數(shù)據(jù),如果只表示數(shù)字則可容納2710 個數(shù)字。PDF417 的糾錯能力分為9 級,級別越高,糾正能力越強。由于這種糾錯功能,使得污損的417 條碼也可以正確讀出。我國目前己制定了PDF417 碼的國家標準,標準號是GB/T 17172-1997。PDF417 條碼需要有417 解碼功能的條碼閱讀器才能識別。PDF417 條碼最大的優(yōu)勢在于其龐大的數(shù)據(jù)容量和極強的糾錯能力。當PDF417 條碼用于防偽時,并不是PDF417 條碼不能被復制,而是由于使用PDF417 條碼可以將大量的數(shù)據(jù)快速讀入計算機,使得大規(guī)模的防偽檢驗成為可能。
圖1 PDF417 碼圖
后來出現(xiàn)了矩陣式二維條碼,矩陣式二維條碼在一個矩陣空間內(nèi)通過黑白模塊的不同分布進行編碼,比較典型的是QR Code 碼,如圖2 所示。
QR Code 碼是由日本Denso 公司于1994 年9 月研制的一種矩陣二維碼符號,它除具有一維條碼及其他二維條碼所具有的信息容量大、可靠性高、可表示漢字及圖像多種文字信息、保密防偽性強等優(yōu)點外,還具有如下主要特點。
1)超高速識讀。從QR Code 碼的英文名稱QuickResponse Code 可以看出,超高速識讀特點是QR Code 碼區(qū)別于417 條碼、Data Matrix 等二維碼的主要特性。由于在用電荷搞合元件(Charge-Coupled Device, CCD )識讀QR Code 碼時,整個QR Code 碼符號中信息的讀取是通過QR Code 碼符號的位置探測圖形,用硬件來實現(xiàn),因此,信息識讀過程所需時間很短,具有超高速識讀特點。用CCD 二維條碼識讀設(shè)備,每秒可識讀30 個含有1∞個字符的QR Code 碼符號;對于含有相同數(shù)據(jù)信息的417 條碼符號,每秒僅能識讀3 個符號。QR Code 碼的超高速識讀特性是它能夠廣泛應用于工業(yè)自動化生產(chǎn)線管理等領(lǐng)域。
圖2 QR Code 碼圖
2) 全方位識讀。QR Code 碼具有全方位(360度) 識讀特點,這是QR Code 碼優(yōu)于行排式二維條碼如417 條碼的另一主要特點,由于417 條碼是將一維條碼符號在行排高度上的截短來實現(xiàn)的,因此,它很難實現(xiàn)全方位識讀,其識讀方位角僅為士100 。
3) 能夠有效地表示中國漢字、日本漢字。由于QR Code碼用特定的數(shù)據(jù)壓縮模式表示中國漢字和日本漢字,它僅用13b可表示一個漢字;而417 條碼、Data Martix 等二維碼沒有特定的漢字表示模式,因此僅用字節(jié)表示模式來表示漢字,在用字節(jié)模式表示漢字時,需用16 b( 兩個字節(jié))表示一個漢字。因此QR Code 碼比其他的二維條碼表示漢字的效率提高了20%。
QR Code 的編碼字符集包括:
1)數(shù)字型數(shù)據(jù)(數(shù)字0-9) ;
2) 字母數(shù)字型數(shù)據(jù)(數(shù)字0-9; 大寫字母A-Z;9 個其他字符:space ,$,%,*,+, ,1 ,:);
3)8 b 字節(jié)型數(shù)據(jù);
4) 日本漢字字符;
5 中國扭字字符(GB 2312 對應的漢字和非漢字字符)。
QR Code 碼數(shù)據(jù)表示方法為深色,模塊表示二進制"1" ,淺色模塊表示二進制0,通過掩膜,可以使符號中深色與淺色模塊的比例接近1: 1 ,使因相鄰模塊的排列造成譯碼困難的可能性降為最小。QR Code 碼分為40 個版本,從版本1 到版本40 ,版本l 是21 x21 模塊,版本40 是177 x 177 模塊,相鄰的兩個版本規(guī)格,高版本比低版本每邊多4 個模塊。QR Code碼糾錯能力分四個級別:分別是L 為7% 、M 為15% 、Q 為25% 、H 為30% 。關(guān)于QR Code 碼符號結(jié)構(gòu),每個QRCode 碼符號都是由正方形模塊組成的一個正方形陣列,它由編碼區(qū)域和功能圖形組成。功能圖形包括:尋像圖形、分隔圖形、定位圖形和校正圖形。QR Code 碼編碼過程的七個步驟為:數(shù)據(jù)分析、數(shù)據(jù)編碼、糾錯編碼、構(gòu)造最終信息、在矩陣中布置模塊、掩膜、添加格式和版本信息。QR Code 碼譯碼過程分為8 個步驟,如下:
1)定位并獲取符號圖像,深色淺色模塊識別為0 、1 組成的陣列;
2) 識讀格式信息:
3) 識讀版本信息;
4) 消除掩膜;
5) 恢復數(shù)據(jù)和糾錯碼字;
6) 查錯、糾錯;
7) 按照模式指示符和字符計數(shù)指示符拆分、組合碼字:
8) 根據(jù)模式譯碼,輸出結(jié)果。
本文中討論的二維條碼主要指短陣式二維條碼。二維條碼有時也叫做二維條碼符號或是二維條碼圖像,每個矩陣式二維條碼的符號包含的最小單元是模塊,二維條碼符號都由若干模塊組成,因為是正方形,所以水平和垂直方向的模塊數(shù)是相同的,包含的模塊數(shù)越多,符號的面積就越大,信息容量也越大。二維條碼的標準里面對模塊的絕對尺寸并不限制,只要打印和識別設(shè)備分辨率配套就可以,標準強調(diào)的是模塊尺寸和由模塊排列組合形成的二維條碼點陣的相對尺寸和位置關(guān)系。例如圖2 中QR Code 碼圖的左上角、右上角、左下角三個位置的方框形特征的圖被稱之為位置探測圖形,每個位置探測圖形可以看做是由3 個重疊的同心正方形組成,它們分別為7 x7 個深色模塊、5 x5 個淺色模塊和3 x3 個深色模塊。如固3 所示,位置探測圖形的模塊寬度比為1: 1: 3: 1: 1 。在同一個二維條碼符號中,任何組成部分都使用完全相同尺寸的模塊拼接而成。
圖3 位置探測圖形模塊分布
二維條碼一般使用專用的條碼打印機打印,使用條碼槍閱讀。常用的二維條碼我國都有相應的國家標準, QR Code碼全稱叫做快速響應矩陣碼,國家標準是GB/T 18284-2∞0。還有一種矩陣式二維條碼名稱叫做江信碼,是由中國物品編碼中心組織研發(fā)的國家"十五"重大科技專項,國家標準是GB/T 21049-2007 。漢信碼按符號的規(guī)模分了84 個版本,從版本1 到84 ,與其他二維條碼相比較,在壓縮比率和漢字字庫支持能力方面有優(yōu)勢,漢信碼支持GB18030 字庫。
2 針式打印機的特點
針式打印機包括打印頭、色帶盒和色帶擋片。打印頭由被稱為針的金屬棍組成,或者9 針(如9 針打印機)或者24 針(如M 針打印機)。9 針打印頭具有一排垂直針,而24 針打印頭有兩排交錯的針,每排12 根。如圖4 所示,方向是從打印頭背面向打印紙看過去。
針式打印機在打印時打印機控制電路通過控制線圈脈沖產(chǎn)生磁場推動打印針動作,打印針擊打色帶,在打印紙上打印出一個點。針式打印頭由于固有的機械特性,使得使用針式打印機在打印點陣符號時,不能隨意打印任意尺寸,只能根據(jù)針的尺寸選擇符合的尺寸,針式打印機的分辨率特點如表1所示。
從上述特性能夠看出,24 針打印機可以打印標準矩形二維碼符號,9針無法打印,除非專門設(shè)計,因為9針不支持橫向和縱向都相同的分辨率。所以使用針式打印機打印二維條碼的話,只能選擇使用24 針的180 x 180 dpi ,其他分辨率都不行,如果要支持的話開發(fā)工作量和成本將是24 針180 x180 dpi方式的2 -3 倍。
圖4 針式打印機分辨率
表1 針式打印機分辨率
3 針打二維條碼
在使用針式打印機打印二維條碼時,工程師首先想到的是利用現(xiàn)有的條碼生成軟件輸人待編碼的數(shù)據(jù)后,生成一個二維條碼圖片,然后使用針式打印機打印輸出。實際實驗后發(fā)現(xiàn),打印在紙張上的二維條碼在識別時的成功率并不高,并且紙張有被打破的現(xiàn)象。分析原因后發(fā)現(xiàn),現(xiàn)有的條碼生成軟件主要是針對條碼專用打印機設(shè)計的,在二維條碼符號的模塊尺寸定義上依據(jù)的是條碼專用打印機的分辨率,一般情況下,二維條碼專用打印機的分辨率是200 dpi , 4 x4 個打印點組成一個二維條碼符號的模塊,點和點之間無縫連接。按這樣的指標構(gòu)建的二維條碼符號,在使用針式打印機打印時會發(fā)生什么現(xiàn)象呢?以M 針打印機為例,分辨率是180 x180 dpi ,打印頭的針和針之間有間隙,在打印200 dpi 分辨率的、點和點之間沒有間隙的圖像時,針式打印機會自動啟動一種半點移動的打印處理方法,就是在同一個方向上,后面打印的一個點壓前面打印的一個點的半個,以此類推,當打完一個完整的二維條碼符號時,可想而知,紙會變成什么樣子,同樣的一個位置,最多會遭到針的三次敲擊,聯(lián)次越多,第一聯(lián)紙受力就越大,破損也就越厲害。即使如此,紙的破損先不討論,僅由分辨率和打印頭的不同所帶來的尺寸誤差,反映在打印出來的二維條碼符號上,就使得原來生成的二維條碼符號,在打印這個環(huán)節(jié),引入了不小的誤差。尺寸的誤差加上紙破損帶來的變形,二者疊加,使得大部分打印出來的二維條碼都無法識別。
針對這些原因,工程師又嘗試通過修改生成軟件的參數(shù),將模塊的尺寸調(diào)大,使用3 x3、4 x4 或是更多的點來構(gòu)建一個模塊,這樣生成的二維條碼符號面積很大,倒是可以識別了,打印機也不會半點移動了,但受紙張面積限制,當總面積還是原來那么大時,二維條碼里面能包含的內(nèi)容卻變得極少了,比在同樣面積上直接打印字符多不了多少,沒什么使用價值,發(fā)揮不了二維條碼的優(yōu)勢。分析原因發(fā)現(xiàn),雖然模塊的尺寸放大了,但是因為是使用的現(xiàn)有的條碼生成軟件,那么其最基本的分辨率尺寸依然是依據(jù)條碼打印機,這樣在增大模塊尺寸時,翻轉(zhuǎn)的也是這個分辨率的倍數(shù),使用針式打印機打印時,雖然因為模塊做大解決了不能識別和紙張破損的問題,但因為缺乏精確的針對針式打印機的計算,使得沒有把針式打印機的分辨率發(fā)揮到最佳,浪費了不少打印尺寸和空間,最終造成這種打印方式打印出的二維條碼信息容量低,失去實用價值。
綜合前面兩方面的改進辦法,實施起來互相矛盾,解決一個問題的同時又會產(chǎn)生另外一個問題,這樣綜合考慮,仍然不具備實用性。從根本上分析,要想使用針式打印機打印二維條碼,還得在根本上從最初的二維條碼符號生成階段就依據(jù)針式打印機的尺寸和結(jié)構(gòu)特點來設(shè)計二維條碼圖像,只有這樣,才能最大限度上保證針式打印機在打印二維條碼固像時不會破壞二維條碼符號的尺寸設(shè)計。
在依據(jù)針式打印機設(shè)計和打印二維條碼符號方面,有的工程師提出過這樣一種方案,思路是二維條碼的模塊尺寸按照1/180 in(1in = 25.4 mm) 的倍數(shù)設(shè)計,對于9 針針式打印機按照1/180 in 的5 的倍數(shù)設(shè)計,打印時橫向出針打印第一個位點后,打印第二個位點的中心到第一個位點的中心的距離是1/180 in ,縱向打印第二個位點到第一個位點的中心距離是1/180 in ,以打印第一個位點的中心為0 點,在其橫向5 x 1/180 in的距離打印第三個位點,打印第四個位點的中心到第三個位點中心的距離是1/180 in ,以打印第一個位點的中心為O 點,在其縱向5 x 1/180 in 的距離打印第三個位點,打印第四個位點的中心到第三個位點中心的距離是1/180 in ,每一個模塊由2x2 個位點組成,以此類推,組成一個矩陣式的二維條碼符號。
對于24 針針式打印機按照1/180 in 的5的倍數(shù)設(shè)計,打印時橫向出針打印第一個位點后,打印第二個位點的中心到第一個位點的中心的距離是1/180 in ,打印第三個位點的中心到第二個位點的中心的距離是1/180 in ,縱向出針打印第二個位點到第一個位點的中心距離是1/180 in,打印第三個位點的中心到第二個位點的中心的距離是1/180 in ,以打印第一個位點的中心為0 點,在其橫向5 x1/180 in的距離打印第四個位點,打印第五個位點的中心到第四個位點中心的距離是1/180 in ,打印第六個位點的中心到第五個位點中心的距離是1/180 in ,以打印第一個位點的中心為0 點,在其縱向5 x 1/180 Ïn 的距離打印第四個位點,打印第五個位點的中心到第四個位點中心的距離是1/180 in ,打印第六個位點的中心到第五個位點中心的距離是1/180 in ,每一個模塊由3 x3 個位點組成,以此類推,組成一個矩陣式的二維條碼符號。這樣的改進思路,簡而言之就是二維條碼的模塊尺寸按照180 dpi的尺寸來設(shè)計,用5 x5 個點來柑建一個模塊,打印時根據(jù)打印機不同實際打印其中的2 x2 或是3 x3個點,空出余下的點。這樣的思路能保證打印效果良好能識別,但是因為每個模塊尺寸太大,當總面積相對固定時,二維碼的信息容量太小;同時雖然因為有空點,紙張不會打得很爛,有改善,但因為點和點存在重疊和相鄰,紙張還是會有一定程度的破壞,如果需要長期保存的話,還是會隨著時間的推移發(fā)生變化而導致不能識別。
通過前面的分析介紹,對二維條碼使用針式打印機打印的特點有了一定的認識,概括存在的問題,大概有以下幾點。首先,由于表示"1" 的模塊都需要密集地打印2 x2 或者3 x3 個點,因此在打印過程中,紙張容易被打穿的幾率較高,致使紙張上的信息無法被識別的幾率較高。
其次,由于現(xiàn)有的打印方法為了便于識別,需要留有大量的空白,如需要5 x5 個點表示一個模塊,其中9 針打印機只使用了其中的4 個點打印有效信息而浪費掉21 個點, 24 針打印機只需要9 個點打印有效信息而、浪費掉16 個點,因此浪費了大量的空間以便區(qū)分各個模塊,這樣大量的空白減少了在同等打印面積下二維條碼的容量,無法在數(shù)據(jù)量大而打印面積有限的情況下使用。
通過分析,提出這樣一種設(shè)計思路,使用四個打印點表示一個模塊,掏建矩陣式二維條碼,其中四個打印點相互間隔一個打印點。通過使用間隔的方式打印表示二進制邏輯"1" 的矩陣式二維條碼模塊,可以有效地避免在使用針式打印機進行二維條碼打印時出現(xiàn)紙張被打爛的情況,使得其能用于大量的多聯(lián)紙張二維條碼應用,同時提高了單位面積的信息容量,克服了現(xiàn)有技術(shù)中的問題。通過四個點表示一個"1" 模塊,由于每個打印點之間有足夠的空隙,完全避免了紙張在打印過程中被打穿的情況,而分散的四個打印點形成一個較大的識別區(qū)域,也較容易識別。
從二維條碼的特點上說,生成、打印、識讀是三位一體配套的,同一個廠家的配套設(shè)備配合是最好的,不同廠家交叉的話,會有一些異常情況出現(xiàn)。專用的條碼打印機,一般是每毫米8 個點的分辨率,在打印二維條碼時一般采取打印3 x3 或4x4 個點的方式來湊成一個模塊,這種模塊的尺寸是邊長0.5mm或0.6 阻。而針式打印機的特點是每毫米3 個點,點的尺寸是0.3 陽,一個點不夠, 3 個或4 個點又太大,所以針打在打印適合專用條碼打印機打印的二維條碼符號時,在打印環(huán)節(jié)就已經(jīng)造成了不小的誤差;同時為了對圖形,針式打印機的驅(qū)動程序利用打印頭位移的辦法密集打印,使得紙張變形得很厲害,不利于保存。
從針式打印機的特點出發(fā),不管是漢信碼或是QR Code碼,還可以用針的直徑也就是0.3 皿對應的一個點做一個模塊,為了精確識別,一般會用4 倍以上的分辨率讀圖,相當于掃描儀設(shè)置為300 dpi 或者用50 萬像素攝像頭拍符號,這樣一個針點會得到4 x4 的數(shù)據(jù)矩陣作分析。從設(shè)計開發(fā)的角度講,按照二維條碼生成、打印、識別三個環(huán)節(jié)來分別開展的話,可以分成3 個步驟。
1)把數(shù)據(jù)編碼,生成一個以針打的、針直徑為模塊尺寸的二維條碼符號圖形。這個圖形同時也包含了針式打印機打印時所需要的內(nèi)容數(shù)據(jù)包,對于針式打印機來說,重用的是這個數(shù)據(jù)包,圖形只是用來看的,數(shù)據(jù)包可以自己定義一個結(jié)掏,也可以在打印時從固里面提取。
2) 把數(shù)據(jù)包使用針式打印機的打點陣命令,按照針式打印機的特點在固定的行、列坐標上打印出來,形成一個點陣,模塊排列整齊并且有間隙,對紙張的影響和原來打文字一樣,不會有破壞。
3) 按合適的分辨率獲取二維條碼圖像,再按照排列的尺寸坐標獲取分析數(shù)據(jù),然后按約定的解碼算法解碼。
4 結(jié)語
本文針對使用針式打印機的場合,深入分析二維條碼和針式打印機的特點,結(jié)合同領(lǐng)域內(nèi)技術(shù)人員提出的思路的優(yōu)勢和不足,對目前存在的針式打印機打印二維碼的問題做了逐一整理分析井提出了切實可行的解決思路,解決了針式打印機打印二維條碼時普遍存在的信息容量低、識別率低、紙張破損這三個主要問題,使得針式打印機打印二維條碼具備了實用價值,方便了相關(guān)系統(tǒng)的推廣。
核心關(guān)注:拓步ERP系統(tǒng)平臺是覆蓋了眾多的業(yè)務(wù)領(lǐng)域、行業(yè)應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業(yè)務(wù)管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業(yè)務(wù)領(lǐng)域的管理,全面涵蓋了企業(yè)關(guān)注ERP管理系統(tǒng)的核心領(lǐng)域,是眾多中小企業(yè)信息化建設(shè)首選的ERP管理軟件信賴品牌。
轉(zhuǎn)載請注明出處:拓步ERP資訊網(wǎng)http://www.ezxoed.cn/
本文標題:基于針式打印機的二維條碼
本文網(wǎng)址:http://www.ezxoed.cn/html/support/1112189112.html