這個(gè)一個(gè)Android藍(lán)牙打印小票demo,類似美團(tuán)外賣小票打印
自適應(yīng)排版小票格式,一行兩列和三列輕松搞定读处,文本長短不用愁
先看一下效果圖哈:
demo里主要是使用漢印打印機(jī)進(jìn)行藍(lán)牙小票打印,它還支持WiFi打印,USB打印和串口打印猎唁,SDK對(duì)接的話去漢印官網(wǎng)下載相應(yīng)的zip包,里面有PDF文檔和代碼案例顷蟆,文檔上功能還是比較多的诫隅,比如與藍(lán)牙進(jìn)行關(guān)聯(lián)以及各種狀態(tài)獲取以及各種屬性設(shè)置等,項(xiàng)目里面我放了一份PDF的文檔帐偎,就在info文件夾下逐纬。
但像打印的小票排版樣式與細(xì)節(jié)這塊相對(duì)是比較粗糙,直接在代碼里寫死的樣式肮街,而大多數(shù)平臺(tái)的小票排版都不太一樣风题,這里就涉及到自定義排版,而我這里主要講的就是小票打印的排版樣式了。
我在demo中已經(jīng)把排版封裝到 PrintUtil沛硅,主要的信息打印眼刃,商品名字、數(shù)量和小計(jì)都做了自適應(yīng)兼容摇肌,多行等展示亦不會(huì)打亂排版擂红,只管放心使用就好。
當(dāng)然围小,個(gè)別特殊都樣式設(shè)置就看著改昵骤,基本的樣式我也封裝了些方法,不夠再加肯适,如是接的sdk就根據(jù)文檔給的功能增加变秦,若是按原生的寫法通過字節(jié)流傳輸給藍(lán)牙打印機(jī)的,也可以將指令寫入封裝成方法進(jìn)行添加設(shè)置框舔。
demo里面還用到了lombok注解框架蹦玫,主要是用于注解數(shù)據(jù)模型的get 和 set方法,這樣就不需要寫那么多凌亂的get() 和 set()了刘绣。
29/4.
1 新增選擇打印機(jī)功能
2 新增愛印打印機(jī)支持
3 優(yōu)化打印排版格式 (這個(gè)排版格式是可以公用的樱溉,打印機(jī)基本都是可以打印byte數(shù)組)
08/5.
1 優(yōu)化漢印與愛印打印機(jī)連接狀態(tài)回顯
2 優(yōu)化打印機(jī)連接成功后彈出提示
3 新增復(fù)坤打印機(jī)支持
2021/12/15.
1 各打印機(jī)新增圖片打印
2 新增漢印打印機(jī)二維碼打印
2022/11/20.
1 新增連接并打印的library庫:ReceiptPrint(外部調(diào)用只需將打印模板數(shù)據(jù)傳進(jìn)來即可,不用關(guān)注連接打印機(jī)相關(guān)邏輯)
2 新增打印模板工具類(打印模板會(huì)隨著業(yè)務(wù)而改變纬凤,將其剝離開來福贞,后續(xù)的改動(dòng)不再影響library庫,ReceiptPrint只專注做連接與打油J俊)
GitHub地址:https://github.com/weioule/PrintDemo