很多公司或者家里都有一台老的USB打印机,用了好多年没坏,扔了可惜,但每次打印都得把文件拷到连接打印机的那台电脑上,特别麻烦。尤其现在笔记本都轻薄化,很多人连USB口都没有,插个打印机还要接扩展坞。这时候最简单的解决方案就是加一个网络打印服务器,让老打印机也能接入局域网,电脑和手机都能直接无线打印。今天就聊聊网络打印服务器的几种实现方案,从硬件到软件一步步教你搭建。
最省事的方案是买个现成的USB打印服务器硬件,淘宝上几十到几百块不等,便宜的就是一个小盒子,一头插USB接打印机,一头插网线接路由器,配置一下就能用。常见的芯片有RT5350、MT7620这些,本质上就是一个简化版的嵌入式Linux设备,跑着打印服务程序(比如p910nd或CUPS)。买的时候注意看兼容性列表,不是所有打印机都支持,尤其是那种多功能一体机(带扫描、传真的),便宜的打印服务器可能只支持打印功能,不支持扫描。另外最好买支持HP Jetdirect(p910端口)协议的,Windows和Mac都自带这个驱动,不用装额外软件,兼容性最好。
硬件打印服务器的配置一般很简单:先按说明书用网线连到路由器,插上USB打印机,通电开机。然后在电脑浏览器里访问打印服务器的默认IP地址(一般标签上有写,比如192.168.1.100),进Web管理界面,配置一下WiFi(如果是无线款的话)连上家里的WiFi,开启打印服务。然后在电脑里添加打印机,选择"TCP/IP端口",填上打印服务器的IP地址和端口号(一般是9100),装上对应的打印机驱动就搞定了。打印的时候文档会通过网络发到打印服务器,服务器再转给USB打印机,跟本地打印没什么区别。
如果手头有闲置的树莓派、旧路由器或者小主机,自己做一个打印服务器也挺有意思,而且功能更强。最常用的软件是CUPS(Common UNIX Printing System),这是Linux下最主流的打印管理系统。以树莓派为例:先刷好Raspberry Pi OS,接上打印机,apt安装cups和打印机驱动,修改cupsd.conf允许局域网访问,然后浏览器打开631端口进入CUPS管理界面,添加打印机,选好驱动和连接方式(USB),开启共享。之后局域网里的电脑都能通过IPP协议访问 http://树莓派IP:631/printers/打印机名 来添加打印。CUPS的好处是支持的打印机型号超多,几乎所有主流品牌都能找到驱动,还支持AirPrint和手机打印。
如果打印机本身是多功能一体机,想实现网络扫描功能,光有打印服务器不够,还要装扫描共享服务。Linux下常用的是saned(SANE网络扫描守护进程),配合CUPS一起用。装好sane-utils和扫描仪后端驱动,配置saned允许局域网主机访问,客户端电脑安装SANE客户端就能扫描了。Windows客户端可以用SaneTwain或者WinScan2PDF这些软件来调用网络扫描仪。家用的话这个功能特别实用,全家人都能在自己电脑上直接扫描文件到本地,不用再跑到打印机跟前去操作。
几个常见的坑提前说一下。第一个是驱动问题,很多老旧打印机厂商不提供Linux驱动,CUPS里也没有,这时候可以试试用HP的HPLIP驱动(惠普打印机通用),或者找开源的Gutenprint驱动包,实在不行就只能刷成原厂的打印服务器固件了。第二个是打印队列卡住,有时候一个大文档卡住了,后面的文档都打不出来,这时候要去CUPS或打印服务器的管理界面取消所有任务,重启打印服务。第三个是WiFi连接不稳定,无线打印服务器尽量放离路由器近一点的地方,信道干扰大的话换个固定信道,2.4GHz频段虽然速度慢但穿墙好,打印数据量不大完全够用。最后一个就是安全问题,打印服务器最好只在内网使用,不要把端口映射到公网,不然可能被别人远程打广告或者恶意打印。
下一篇:没有了