在日常办公或家庭场景中,我们经常遇到这样的尴尬:打印机不支持无线连接,每次打印都得抱着电脑插数据线;或者手机里的文档想打印,还得先传到电脑上。最近发现了一个非常惊艳的开源项目 —— lan-printing。它能将任何通过 USB 连接到电脑(或树莓派)的普通打印机,瞬间转化为支持手机、网页、甚至跨平台远程操作的局域网共享打印机。
1. 什么是 lan-printing?
lan-printing 是一款轻量级的局域网打印服务转换器。它的核心逻辑非常巧妙:通过在连接打印机的设备上运行一个微型服务器,将底层的打印驱动能力封装成一个直观的 Web 界面和标准的网络接口,让局域网内的任何设备都能通过浏览器直接调用打印机。

2. 核心功能亮点
- 全平台支持: 只要有浏览器(手机、平板、电脑),无需安装驱动,直接访问网页即可上传文件并打印。
- 零配置打印: 支持图片(JPG/PNG)和 PDF 文件的直接投递,服务器会自动处理缩放与渲染。
- 极其轻量: 基于高效的底层框架开发,不仅可以运行在 Windows/Mac,更适合运行在树莓派或闲置的 Linux 小主机上。
- 开源透明: 代码完全托管在 GitHub,用户可以自行审计,确保打印任务不会被第三方服务器获取,保障隐私。
3. 快速部署指南
第一步:准备环境
确保你的打印机已经通过 USB 正确连接到主机,并且主机已经安装了该打印机的驱动程序,能够正常进行本地打印。
第二步:运行服务
前往 GitHub Releases 下载对应系统的运行包。如果你习惯使用命令行,也可以直接克隆仓库并运行:
git clone https://github.com/a937750307/lan-printing.git cd lan-printing 根据文档执行启动脚本
第三步:开始打印
服务启动后,在同一局域网下的手机或另一台电脑的浏览器中输入 http://[主机IP]:[端口号]。你会看到一个简洁的上传界面,拖入文件点击“打印”即可。你可以通过作者提供的演示地址体验其交互逻辑:lan-printing 在线演示。
4. 为什么它是“老旧设备”的救星?
相比于购买数千元的企业级网络打印机,lan-printing 方案几乎是零成本。它解决了几个核心痛点:
- 跨系统兼容: 解决了 Linux 或手机端由于缺少特定品牌打印机驱动而无法打印的问题。
- 资源复用: 让已经不再生产、但机械结构依然稳健的老打印机重新焕发活力。
- 访客友好: 朋友来家里或办公室临时打印,再也不用手动装驱动或连接复杂的共享文件夹,扫码访问网页即可。
5. 总结与建议
lan-printing 这种“以软代硬”的思路,是典型的黑客精神体现。它足够简单,却解决了最实际的问题。如果你家里也有一台“食之无味弃之可惜”的 USB 打印机,不妨花几分钟部署一下这个项目,让它变身成为现代化的云打印中心。
- GitHub 仓库:a937750307/lan-printing
- 演示体验:lan-printing Demo
一句话点评: 将复杂的驱动逻辑抽象为简单的网页交互,这才是效率工具该有的样子。