本發(fā)明屬于打印領(lǐng)域,尤其是涉及一種實現(xiàn)任意windows字體漢字打印的方法。
背景技術(shù):
當前,工廠中多使用標簽打印機打印產(chǎn)品標簽,而應(yīng)用最為廣泛就是斑馬品牌的標簽打印機。在自動化打印需求不斷提高的背景下,用戶大都通過自己的軟件來控制標簽打印機打印標簽。
傳統(tǒng)的斑馬標簽打印機使用隨機附帶的軟件,雖可以打印任意windows字體的漢字,但無法應(yīng)用于動態(tài)標簽的打印。而在實際使用時,為了滿足自動化打印需求,用戶需要使用自己的自動化軟件控制打印機來打印動態(tài)的標簽。用戶在使用自動化軟件控制標簽打印機打印時,需要使用斑馬打印機專用控制語言,而使用這種語言支持打印漢字標簽。
因此,為了實現(xiàn)對動態(tài)標簽的打印,需要提出一種用于斑馬打印機實現(xiàn)任意windows字體漢字打印的方法。
技術(shù)實現(xiàn)要素:
有鑒于此,本發(fā)明旨在提出一種實現(xiàn)任意windows字體漢字打印的方法,通過使用漢字轉(zhuǎn)換成圖片點陣圖的方式,來實現(xiàn)對動態(tài)漢字標簽的自動化打印。
為達到上述目的,本發(fā)明的技術(shù)方案是這樣實現(xiàn)的:
一種實現(xiàn)任意windows字體漢字打印的方法,包括以下幾個步驟:
1)通過gdi創(chuàng)建特定尺寸的位圖,用白色填充;
2)根據(jù)設(shè)置的開始位置,使用gdi在位圖上繪制待打印的漢字信息,顏色采用黑色;
3)將生成的圖片轉(zhuǎn)化為目標打印機可識別的字符格式,并輸出給目標打印機;
4)根據(jù)設(shè)置的打印位置,打印轉(zhuǎn)換后的圖片。
進一步的,所述步驟1中,位圖的尺寸取決于標簽尺寸和目標打印機的分辨率。
進一步的,所述步驟2中,開始位置的設(shè)置方法為:在位圖上繪制漢字時,將要打印的第一行首個漢字到標簽左側(cè)的距離以及該漢字到標簽頂端的距離轉(zhuǎn)換成像素點數(shù),以此作為開始位置,完成對所有待打印信息的繪制。
進一步的,所述步驟3中,將生成的圖片轉(zhuǎn)化為目標打印機可識別的字符格式方法為:從位圖的左上角開始,位圖中的每8個點用一個十六進制字符表示,即該數(shù)據(jù)的二進制字節(jié)中的每一位對應(yīng)位圖中的一個點,從字節(jié)最高位開始對應(yīng)位圖的第一個點,依次類推,直到位圖最右側(cè),每行結(jié)束后加入換行符;
將字節(jié)中每一位對應(yīng)的點的顏色與灰色rgb進行比較,確定出該位的值;若該點顏色rgb值小于灰色rgb,對應(yīng)的位為1;若大于,對應(yīng)的位為0;
若位圖中某行的點數(shù)小于8,對應(yīng)二進制數(shù)的字節(jié)低位設(shè)為0。
進一步的,所述步驟4中,目標打印機打印之前,需測量標簽左側(cè)距離打印機標簽出口左側(cè)的距離,并通過計算,轉(zhuǎn)換成像素數(shù)量,以此設(shè)置打印的位置。
進一步的,所述步驟4中,目標打印機采用圖形方式打印。
相對于現(xiàn)有技術(shù),本發(fā)明所述的一種實現(xiàn)任意windows字體漢字打印的方法具有以下優(yōu)勢:自己繪制待打印信息的位圖,將繪制好的頁面位圖轉(zhuǎn)換為目標打印機可識別的字符格式,實現(xiàn)任意windows字體漢字動態(tài)標簽的打印,滿足個性化需求;用自己編寫的軟件控制打印機打印標簽,可滿足生產(chǎn)線自動化打印的生產(chǎn)需求。
附圖說明
圖1為本發(fā)明實施例所述的打印實現(xiàn)方法的流程示意圖。
具體實施方式
需要說明的是,在不沖突的情況下,本發(fā)明中的實施例及實施例中的特征可以相互組合。
下面將參考附圖并結(jié)合實施例來詳細說明本發(fā)明。
一種實現(xiàn)任意windows字體漢字打印的方法,包括以下幾個步驟:
1)通過gdi創(chuàng)建特定尺寸的位圖,用白色填充;
2)根據(jù)設(shè)置的開始位置,使用gdi在位圖上繪制待打印的漢字信息,顏色采用黑色;
3)將生成的圖片轉(zhuǎn)化為目標打印機可識別的字符格式,并輸出給目標打印機;
4)根據(jù)設(shè)置的打印位置,打印轉(zhuǎn)換后的圖片。
值得注意的是,所述步驟1中,位圖的尺寸取決于標簽尺寸和目標打印機的分辨率。
例如:使用型號gk888t的斑馬打印機分辨率為200dpi(點/英寸),標簽尺寸為寬76mm,高38mm,則:
寬度:76mm=2.992126英寸寬度像素:2.992126*200=598.4252
高度:38mm=1.496063英寸高度像素:1.496063*200=299.2126
因此,圖片尺寸大小應(yīng)該設(shè)定為:599像素*300像素。
值得注意的是,所述步驟2中,開始位置的設(shè)置方法為:在位圖上繪制漢字時,將要打印的第一行首個漢字到標簽左側(cè)的距離以及該漢字到標簽頂端的距離轉(zhuǎn)換成像素點數(shù),以此作為開始位置,完成對所有待打印信息的繪制。
例如:第一行首個漢字距標簽左側(cè)8mm,距標簽頂端8mm,則
8mm=0.314960629921259英寸
0.314960629921259英寸*200dpi=63像素
則使用gdi在距離位圖左邊63像素,距離位圖頂端63像素的位置畫第一行漢字,字體可以選用任何windows字體,顏色使用黑色。以此類推,完成對所有想要打印的漢字以及圖形的繪制。
值得注意的是,所述步驟3中,將生成的圖片轉(zhuǎn)化為目標打印機可識別的字符格式方法為:從位圖的左上角開始,位圖中的每8個點用一個十六進制字符表示(如:f0),即該數(shù)據(jù)的二進制(11110000)字節(jié)中的每一位對應(yīng)位圖中的一個點,從字節(jié)最高位開始對應(yīng)位圖的第一個點,依次類推,直到位圖最右側(cè),
將字節(jié)中每一位對應(yīng)的點的顏色與灰色rgb(187,187,187)進行比較,確定出該位的值;若該點顏色rgb值小于灰色rgb,對應(yīng)的位為1;若大于,對應(yīng)的位為0;
若位圖中某行的點數(shù)小于8,對應(yīng)二進制數(shù)的字節(jié)低位設(shè)為0;
將每個字節(jié)用十六進制字符表示,再連接成字符串,每行結(jié)束字符串中加入換行符。
例如:圖片左上角前八個點的rgb值分別為(00,00,00),(00,00,00),(00,00,00),(00,00,00),(00,00,00),(00,00,00),(00,00,00),(00,00,00)則轉(zhuǎn)換成的字符為ff。
值得注意的是,所述步驟4中,目標打印機使用圖形方式打印。在目標打印機打印圖片之前,需要設(shè)置標簽左端相對于打印機可打印區(qū)域最左邊緣的距離。標簽在打印機上安裝好以后,測量標簽左側(cè)距離打印機標簽出口左側(cè)的距離,并通過計算轉(zhuǎn)換成像素數(shù)量,以此設(shè)置打印的位置。這樣目標打印機按照設(shè)置好的打印位置,再結(jié)合由位圖轉(zhuǎn)換成的打印機可識別的字符串信息打印圖片即可,從而實現(xiàn)任意windows漢字標簽的打印。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應(yīng)包含在本發(fā)明的保護范圍之內(nèi)。