背景
由于业务需要,需要hi3531d主板上加入对于HP打印机的支持。
通过与产品经理,技术主管的沟通;通用支持是不现实的,只要求彩色打印,先不考虑打印机的价格,只要支持一款打印机即可。
注意:
Linux下支持打印机有很多局限性,并非每一种打印机型号都被支持。惠普打印机的支持是最好的。
过程:
根据网友的资料,有关Linux打印系统只要从上到下能够连一条线通即可组成一套打印系统。
寻找合适的软件方案:
-
使用CUPS + IJS:
前往:"Open Printing"进行查找。根据支持的型号翻阅了淘宝,京东,亚马逊。
此时,发现有人实现了 CUPS+ IJS(HPLIP)的方案。
hlip由HP厂商直接提供的支持驱动,但这些驱动针对桌面系统,需要自己进行编译移植:"http://www.openprinting.org/download/ijs/"由于选型打印机比较困难,研发成本比较高,而且很多出现在列表中的打印机已经停产买不到了。
遂放弃此方案,但此方案是有可行性的。(剩下编译gutenprint不通过:《 Android遇上打印机》) -
使用foo2zjs + ghostscript:
foo2zjs 系列支持一部分的打印机,像foo2zjs、foo2hiperc、foo2xqx、foo2hbpl、foo2lava都有默认的打印机支持。
(如果foo2zjs已支持,直接用foo2zjs将ppm文件转换成打印机支持的流,传入打印机即可打印。)
添加foo2zjs工具(用于发送数据到打印机进行打印);
添加gohstscript工具(用于转换文档格式到打印机能识别的pbm格式);
[可选]添加enscript,用于把txt,c,cpp等文档转换到打印机能识别的PostScript格式;
- 移植Ubuntu等文件系统,再安装通用的打印机驱动
成本太高,放弃支持。成功案例:《使用树莓派搭建无线打印机》