2025年1月24日星期五

收據打印機

技能獲得!

連了 2 部收據打印機到網路上,其中一部連上了現金抽屜。今晚開始了艱苦的摸索。

先是想找一些別人的程式庫。沒想到很少人玩這個,用 swift 的尤少。幾個還是用 CocoaPod 發放,這太舊了,他媽的我的 Mac 上連 Ruby 都過時了。沒理由為了個 Pod 動到系統的 Ruby,這他媽太扯了。果斷放棄所有的 Pod。

這時心想直接控制打印機不會太難吧。果然查到 EPSON 製訂的 ESC/POS 指令表,全世界的收據打印機看來都會遵守。看去是用 TCP 連上去之後,往它傳送二進位指令就好了。但這網路似乎有點麻煩,又沒經驗。誰會想到寫 iOS app 還要玩 socket

然後找到一個 swift 寫的程序,作者是大陸人,註解居然打中文。這個連程式庫都不是。本想放棄,但一想,看他怎麼傳指令吧。好,居然是藍牙版的。這裡有一堆在藍牙上搜索並過濾打印機的邏輯。這對我沒有用。忽然想起在另一個庫看到連接LAN的碼。不如結合一下?

於是結合兩個程序,弄了個物件出來。成功了!直接傳送中文字都能出。繁體字呢?改用UTF8出了亂碼。好吧,這是國內產的打印機,用回國標碼好了。OK,它包括了繁體字宋體。能出!最怕的編碼問題都解決了。一維條碼也能印。

二維QR-CODE沒來得及搞,但應該沒問題。

另外也試了個把全部東西畫成一張圖輸出的,也是可以。但是它是腳先出來,而且筆畫不夠清晰,不是太理想。還是用前面那個。



沒有留言:

發佈留言

精選

各種圖書館級的書源 https://libgen.is/ https://z-library.sk/ https://zh.annas-archive.org/ https://www.pdfdrive.com/ https://www.shuge.org/ 來源