AaronSeeWorld

嵌入式Linux系统添加通用USB接口的打印机功能,主要包括以下三步。

 

一.内核添加USB接口的通用打印机识别驱动

在make menuconfig 编译菜单项选上USB打印机选项:

Device Drivers --->

         [*] USB support --->

                     <*> USB Printer support

插入打印机就可以看到/dev/usb/lp0设备节点了

有了USB接口的打印机设备节点,我们就可以使用相关工具向该节点输入需要打印的数据了

 

二.在文件系统中添加打印工具,主要包括以下三个工具:

添加cups工具(主要用于管理打印的服务应用)

添加gohstscript工具(用于转换文档格式到打印机能识别的pbm格式);

添加foo2zjs工具(用于发送数据到打印机进行打印);

1.添加cups、gohstscript工具

由于我使用的是Yocto来管理开发Linux系统,而这两个工具已在Yocto中以下载了该处方,故在Yocto中添加编译即可。

 IMAGE_INSTALL_append = " cups"

 IMAGE_INSTALL_append = " gohstscript"

如果不是用yocto开发,可以去以下网址中将cups和gohstscript下载下来,然后设置好编译器,手动make就好。

https://github.com/apple/cups/releases

http://iweb.dl.sourceforge.net/project/ghostscript/GPL%20Ghostscript/9.04/ghostscript-9.04.tar.bz2

2.添加foo2zjs工具

 由于Yocto中没有关于foo2zjs相关工具的处方,故需要下载安装包手动编译,加载到文件系统中。

http://foo2zjs.rkkda.com/

编译时,具体问题具体分析,配置好编译器,修改相关makefile的干扰项。

 

三、将以上三个工具安装到文件系统中,使用以下命令实现USB打印功能

使用gs工具将pdf文件转换为pbm文件:

/gs -q -dBATCH -dSAFER -dQUIET -dNOPAUSE -sPAPESIZE=a4 -r600x600 -sDEVICE=pbmraw -sOutputFile=xxx.pbm xxx.pdf

使用foo2zjs工具将pbm文件数据传输给lp0设备节点:

/foo2zjs -z3 -p9 -r600x600 xxx.pbm > /dev/usb/lp0

 


欢迎转载,欢迎指正,更欢迎点赞。转载请附原文链接。

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-09-29
  • 2021-11-20
  • 2021-12-28
  • 2021-09-08
  • 2021-08-06
  • 2021-07-31
  • 2021-08-16
猜你喜欢
  • 2021-12-20
  • 2022-01-09
  • 2021-07-15
  • 2021-10-19
  • 2022-12-23
  • 2021-12-03
相关资源
相似解决方案