这个问题我一直很困惑,正如上一篇提到的raw打印,按说raw的意思就是直接将原始指令直接发送到设备上,比如将打印机视作一个usb设备,直接通过usb写入设备不就行了吗?
我一直没有调通这样的方案。理论上是可行的,但对打印机的一些设置可能会更复杂一些,或者是我的打印机不支持这种模式。
目前能做到的就是在oxs/mac上启用cups,添加一个打印机,添加一个匹配的驱动程序,很多国产(中国大陆)的热敏打印机不提供mac的驱动程序,但实际上,这些打印机的控制板厂商就那么几家,看看打印机说明书里面提到的指令类型,比如TSPL就知道该找哪个厂商的驱动,TSPL就找TSC,他家的官网上资料可以说是非常的全了,提供了各个语言的例程。
经过反复测试,在mac上有两种方式添加打印机,一种是开启cups的web页面(在那里添加打印机,选择raw方式,但这个路径我没跑通,打印机不正常工作。),可以在cups这里添加打印机,选择对应厂商的ppa驱动程序(同一个厂商的驱动程序因不同设备而有很多型号,但比较下文件就知道大同小异,主要体现在设备的最大打印宽度、最高打印速度、分辨率这三项上,还有一个是热敏和转印模式)。另一种方式是直接在系统偏好设置-打印机这里添加打印机,选择相应的ppa文件也可以。
最后回答题目里自己设置的问题,我也不知道。一种猜测是osx为了安全起见,必须通过cups才能访问打印设备。一种猜测是打印机不具备直接简单接收指令就能打印的能力,可能还需要一些默认配置,这些配置由驱动程序来提供(ppa文件就是一个文本/配置文件,里面的内容都可以看)。