老式打印机改 Airprint 之 cups

忘机山人

发布于327天前
博客图片修整中,看不了可以先搜索公众号“忘机山人”看。

很多年以前就想把家里的老式打印机改成无线,前前后后摸索了这些方案:

1. 用小白盒连接路由器:其实这个思路了网络打印机很类似,就是打印机 over IP,企业里几乎也都是这样的做法。缺点就是需要客户端安装驱动,所以相比之下就牺牲了移动端。
2. windows/MacOS 共享:由于缺少 airprint,所以 Apple 设备无法使用隔空打印。其实 Windows 的兼容性是最好的。
3. 在 OpenWrt 上安装 Cups 驱动,然后打印机接路由器当做无线使用。
   
   感谢这篇文章,给了我很大的帮助:https://www.bilibili.com/opus/720655857020305463

然后使用 Docker 运行 Cups,来支持 Airprint。

虽然群晖自己支持了 cups,但是驱动不全,联想的打印机基本没有驱动,换几个其他的打印机型号也无法正确驱动起来,反而因为指令集冲突打印机一直在出空白页。

于是,打上了 docker 的主意。。。。


![image-20250224165925487](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224165925487.png)

选择识别的打印机:

![image-20250224164153529](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164153529.png)

填写信息,选择共享这个打印机。

![image-20250224164118890](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164118890.png)

没有打印机的驱动,所以我选了兄弟的。

![image-20250224164059690](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164059690.png)

打印机信息一览:

![image-20250224164032734](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164032734.png)

一个小插曲:

Mac 升级之后把高级选项弄丢了,需要在这里邮件,选择自定义工具栏

![image-20250224164235899](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164235899.png)

要把 logo 拖放到 2 处而不是 1 处,这个设计很反人类。

![image-20250224164221298](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164221298.png)

主要原因是一开始使用其他的 docker 镜像无法识别打印机,所以在这里使用 http 和 ipp 添加

http 的这么添加:

![image-20250224164439409](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164439409.png)

ipp 的把这串输入到浏览器,MacOS 可以,手机和 Ipad 不行:

```bash
ipp://192.168.5.171:631/printers/Lenovo_M7400_Pro
```

这俩 docker 怎么都搜不到打印机(iPhone 不行,Window 可以,Mac 可以用上述办法添加),踩了几个小时的坑:

![image-20250224164625022](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164625022.png)

换了最上边那个容器之后全平台都可以了:

第二个就是我的打印机,第一个是群晖自己 cups 映射出来的,有 bug systemctl stop cupsd 也关不掉,不过也没啥影响。

![image-20250224164735702](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164735702.png)

MacOS 结果:

![](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224164851437.png)

Iphone 默认无法选择打印机,只能点击分享,然后下拉菜单选择打印:

![image-20250224165243296](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224165243296.png)

Iphone 默认只支持隔空打印,但是使用 Cups 之后我们的打印机不在列表中,但是也能正常的使用了。

![image-20250224165251869](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224165251869.png)

整了这么多测试页,主打一个折腾开心:

![image-20250224165620697](https://raw.githubusercontent.com/Xu-Hardy/picgo-imh/master/image-20250224165620697.png)

最后还是有一个小问题,就是打印机由于关机或者拔掉 USB 的再重启的话,这个 docker 服务没有轮训机制,所以如果不常用的话,就需要每次打开打印机之后再手动运行重启下容器。

虽然现在的打印机都支持了 Airpint,cups 虽然已经成为了历史了,这么做算是圆了一个以前折腾的梦吧。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0