用Zebra打印機制作一個母親節(jié)賀卡
寫在前面
本來打算給大家分享一篇關(guān)于C#操作Zebra斑馬打印機實現(xiàn)標簽打印的內(nèi)容,剛好今天是母親節(jié),所以借此機會,今天的主題就是用Zebra斑馬打印機打印一個賀卡標簽,送給天下偉大的母親們。
Zebra介紹
既然是賀卡,應(yīng)該是非常漂亮的,但是這個Zebra打印機好像只能打印黑白的,所以就簡單制作了一下。
工業(yè)上在批量打印商品標簽時,一般都要加上條碼或圖片,使用斑馬打印機比較多。而C#調(diào)用斑馬打印機的方式也有很多種,包括串口COM、以太網(wǎng)TCP、并口LPT以及USB等,對于設(shè)計標簽也有很多種方式,Zebra提供了一個設(shè)計軟件Zebra Designer,還可以使用其他軟件比如Bartender,以及GDI+自己繪制。
本例采用的方式是利用GDI+進行繪制,然后將圖像轉(zhuǎn)換成字節(jié),通過DG和XG指令發(fā)送給打印機,通信使用的是打印機自帶的USB接口。
圖像繪制
首先通過GDI+繪制一張圖像,圖像的大小要根據(jù)實際標簽大小進行調(diào)試,繪制內(nèi)容可以是圖像、字符串等,或者是條形碼、二維碼都可以,其實條形碼及二維碼也是屬于圖像。
編寫好代碼之后,將圖像用一個PictureBox控件顯示出來,結(jié)果如下:

圖像處理
生成圖像之后,接著將圖像轉(zhuǎn)換成字節(jié)數(shù)組或者字符串,便于后續(xù)直接發(fā)送給打印機,這里的代碼是在網(wǎng)上找的:
調(diào)用打印機
調(diào)用打印機使用的是winspool.drv,這個庫里提供了很多操作打印機的方法。
基于這些方法,封裝一個將字符串發(fā)送給打印機的方法:
最后在打印按鈕下,組織相關(guān)命令,調(diào)用這個方法即可:
最終結(jié)果
下面這個就是最終打印的結(jié)果:

由于B站不支持代碼編輯,所以代碼都被刪掉了,大家可以關(guān)注公眾號:dotNet工控上位機。