树莓派记6
最近又开始折腾吃灰好久的吃灰派了,起因是住家换下来一台打印机就给我了,型号是HP Deskjet 1513。我就想着,只要把它连接到树莓派上那不就是一个网络打印机了吗2333。
打印
打印没什么难的,只要安装CUPS,然后一步步照着做就ok了。
安装
安装CUPS,
sudo apt-get install cups
把你的用户加到lpadmin组里去,
sudo usermod -a -G lpadmin pi
。根据Debian Wikilpadmin
组是用来Allows members to manage printers and pending jobs sent by other users.
启动cups的网络打印服务
sudo cupsctl --remote-any
配置
- 登录cups的网络后台
192.168.x.xx:631
- CUPS for Administrators -> Adding Printers and Classes 按照指示一步步添加打印机,如果要在其他电脑上打印需要把Share勾上。在过程中如果找不到相对应的PPD文件 (Postscript Printer Description),可以去打印机品牌官网上找该型号的驱动,里面一般有对应的PPD。这里我给出hp的。
测试
- 配置完成就可以打印测试页。
- 如果测试也没有打印成功可以去查看一下日志
sudo cat /var/log/cups/error_log
- 如果错误是
no such file /usr/lib/cups/filter/hpcups
之类的,请确保安装sudo apt-get install printer-driver-hpcups
和sudo apt-get install hplip
添加打印机
Window 10
控制面板中添加打印机很容易就可以找到我们的打印机。如果找不到可以手动添加打印机192.168.x.xx:631/printers/你在CUPS中设置的打印机的名字
Android
类似于电脑的手动添加,在设置里添加打印机。
扫描
相比起打印扫描花费了我更多的时间来调试,因为坑更多。
安装
和打印一样,我们也使用开源的软件SANE来实现
- 安装SANE
sudo apt-get install sane
sudo sane-find-scanner
查找你的扫描仪scanimage -L
测试扫描仪是否连接成功- 如果成功了就可以直接
scanimage --format=png > test.png
扫描
是不是觉得很简单,但往往事与愿违。我卡在了第3步。不管怎样,我死活找不到设备,直到我尝试了sudo scanimage -L
这才扫描到了设备。但是我总不能每次都用管理员权限扫描吧,Google了一会找到了解决方法,我不是很懂为什么,但是还是说一下。
如果你连sudo权限下都扫描不到,建议去SANE官网查询一下扫描仪型号是否支持。
解决sudo问题
把saned用户添加进lp组
sudo adduser saned lp
把从
sudo sane-find-scanner
获得的<vendor ID>
and<product ID>
记下来修改文件
/etc/udev/rules.d/55-libsane.rules
(如果没有就创建),添加SYSFS{idVendor}=="04b8", MODE="0666", GROUP="scanner", ENV{libsane_matched}="yes"
其中的
04b8
就是你的vendor ID
但是没有前面的0x
改完重启,再输入测试
scanimage -L
。
扫描参数
输入scanimage --help -d 'device name from scanimage -L'
查看打印机支持那些参数比如说--resolution
,--color
之类的。
图形化
有些人不习惯CLI应用的话,可以安装带GUI的扫描程序xsane
如果不指定格式 scanimage 会默认扫描成pnm
格式。这玩意我听都没听过。如果想要pdf的话可以安装软件ImageMagick
把pnm
转成pdf
sudo apt-get install imagemagick
convert xxx.pnm xxx.pdf
这个不止可以转换pnm,png,jpeg等等都可以相互转换,总之是一款很强大的图片处理软件。
这里我给出我用的脚本 scan.sh output.pdf
|
共享
SANE也是支持共享的,但是我懒得弄了,就直接把扫描的输出目录放到一个Samba共享的文件夹底下了。