首都师范大学 徐远超
中国科学院计算技术研究所 江涛
引 言
目前常用的打印机有两种接口形式:USB口和Ethernet网口。由于价格相对较低,USB口的打印机更为普遍。USB口打印机不能独立工作,必须依附于一台主机。为了在一个局域网环境中共享使用一台USB口打印机,需要为该打印机配备一台服务器,然后通过共享设置实现打印机的网络共享。这种方式有几个方面的缺陷:需要占用一台服务器资源;耗电;容易中毒导致无法正常打印;由于长时间不间断运行,出现故障的概率高,导致无法打印;占用办公空间。
随着嵌入式处理器主频的不断提高,设计专门的嵌入式网络打印服务器已经成为共识。HP等很少的几家打印机公司在几年以前就推出了这样的嵌人式设备,但基本上都只针对本公司特定的几种打印机,无法做到通用。很多文献,如参考文献[1]、[2]中提到的设计方案不够具体。基于这些情况,设计并实现了一款基于Linux的嵌入式网络打印服务器,硬件设计简单,软件完全开源,只要有Linux下的打印驱动,就可以支持。
2019-6-20 15:05:22
3客户端连接
3.1 Windows客户端
在添加打印机时,选择添加的打印机类型为“网络打印机”,在URL中输入http://printer_server_ip:631/printers/printer_name,其中printer_server_ip为CUPS打印服务器的IP地址,631为CUPS服务端口,printer_name为已添加的打印机的名称。如果提示URL错误,请修正后再试,最后提供Windows下相应的打印机驱动即可。如果出现连接异常,建议关闭XP的防火墙服务(尽管理论上不受其影响);也可以使用samba服务来共享打印机,这是最常规的做法,只需配置samba服务,将打印机共享。在客户端通过IP搜索,一般能够找到打印服务器。
3.2 Linux客户端
对于已联网并且安装了CUPS的Linux客户端来讲,能够自动检测到网络中采用CUPS管理的打印机。因此,只需要找到菜单(RedHat Enterprise Server)“系统→首选项→更多首选项→默认打印机”或(fedora)“桌面→首选项→更多首选项→默认打印机”,将弹出网络上所有已存在的打印机,选择其中的某一在线打印机作为默认打印机即可。如果Linux客户端没有安装CUPS,则需要手工去添加打印机。
3客户端连接
3.1 Windows客户端
在添加打印机时,选择添加的打印机类型为“网络打印机”,在URL中输入http://printer_server_ip:631/printers/printer_name,其中printer_server_ip为CUPS打印服务器的IP地址,631为CUPS服务端口,printer_name为已添加的打印机的名称。如果提示URL错误,请修正后再试,最后提供Windows下相应的打印机驱动即可。如果出现连接异常,建议关闭XP的防火墙服务(尽管理论上不受其影响);也可以使用samba服务来共享打印机,这是最常规的做法,只需配置samba服务,将打印机共享。在客户端通过IP搜索,一般能够找到打印服务器。
3.2 Linux客户端
对于已联网并且安装了CUPS的Linux客户端来讲,能够自动检测到网络中采用CUPS管理的打印机。因此,只需要找到菜单(RedHat Enterprise Server)“系统→首选项→更多首选项→默认打印机”或(fedora)“桌面→首选项→更多首选项→默认打印机”,将弹出网络上所有已存在的打印机,选择其中的某一在线打印机作为默认打印机即可。如果Linux客户端没有安装CUPS,则需要手工去添加打印机。
举报
2019-6-20 15:05:24
结 语
本文设计并实现的打印服务器完全使用开源软件,扩展性强,只要能够找到Linux下的驱动程序源码,就能够轻松加入到打印服务器的支持列表中。给出的http打印方式相比samba而言有三个方面的优势,配置简单,使用安全,可以跨网段打印。打印服务器调试过程中的主要技术问题都已包含在本文中,经实际反复测试,打印效果良好,完全实用。
结 语
本文设计并实现的打印服务器完全使用开源软件,扩展性强,只要能够找到Linux下的驱动程序源码,就能够轻松加入到打印服务器的支持列表中。给出的http打印方式相比samba而言有三个方面的优势,配置简单,使用安全,可以跨网段打印。打印服务器调试过程中的主要技术问题都已包含在本文中,经实际反复测试,打印效果良好,完全实用。
举报