写了个远程打印程序,让十几年前的有线标签打印机重焕新生

写了个远程打印程序,让十几年前的有线标签打印机重焕新生

2026-10-18 20:40:45 0点赞 0收藏 0评论
写了个远程打印程序,让十几年前的有线标签打印机重焕新生

周末在家收拾屋子,翻出来一台十几年前买的标签打印机。

抱着试试看的心态插上电脑,到官网下载了驱动,居然还能用。

https://aibaoguanwang.oss-cn-shenzhen.aliyuncs.com/upload/thumb_src/400_400/1627283181.jpghttps://aibaoguanwang.oss-cn-shenzhen.aliyuncs.com/upload/thumb_src/400_400/1627283181.jpg

可这台十几年前的老机器,不带蓝牙和网络功能,只能用数据线连电脑,用不了远程打印。

小孩上学,老师经常在群里发提醒,今天的作业是什么、明天要带什么之类的。

这些消息,等小孩回来了得转述给他,或者是把手机给他看,要是能用标签打印机打印出来就好了,要是能用手机直接打印就更好了。

于是,我就借助AI编程助手(codebuddy)写了个网页版的打印程序,做成了Docker,部署在家里的飞牛nas上,再加上之前申请的域名,(此处放域名链接),整体是个网页,网址类似于https://prints.XXXX.xyz/?token=XXXX。

老师在群里发的文字,我复制一下,粘到这个网页里,点一下打印,家里的标签打印机就能立即打印出来。

我知道有喵喵机、作业帮那种标签打印机,拍照搜题挺厉害,也可以远程打印。但我要的不是再买一个硬件,而是把家里那台老的标签打印机用起来,不用开会员、数据我自己留着,想打什么,网页打开就能打。

当初在做程序方案选型时,尝试过好几条路。

1. CUPS。之前飞牛nas上已经通过CUPS安装了兄弟2140打印机,用起来还是很不错的,可以实现将有线连接的打印机变成无线打印机,手机、平板都可以打印。现在要在CUPS上新增一个标签打印机,配置起来比较麻烦,关键是找不到Linux驱动。

2. EasyPrinter易打印。飞牛官方商店里自带的有这个程序,功能确实很强大,但是大部分不是我需要的,而且实际使用中不顺手的地方,想改还改不了。另外这个程序的体积太大了,我做的Docker占用空间是187MB,这个EasyPrinter占用了1.22GB的空间。

写了个远程打印程序,让十几年前的有线标签打印机重焕新生写了个远程打印程序,让十几年前的有线标签打印机重焕新生

3.企业微信,想着把老师在群里发的信息直接转发到企业微信群里,让群机器人来打印,但是回调、授权等各种配置绕得人头大,直接放弃了。

毛爷爷说过,自己动手,丰衣足食。

于是一咬牙一跺脚,干脆自己写一个。想要什么功能,自己加,哪个按钮看着不顺眼,自己改。

写好之后,我部署在飞牛nas上,网址是http://127.0.0.1:7900,再使用飞牛上的Lucky,把服务反向代理出去,比如说是https://prints.XXX.xyz。

写了个远程打印程序,让十几年前的有线标签打印机重焕新生

这样不管是在家,还是在外面,用手机浏览器打开就能打印。把这个链接发给家人,别人也能远程打印,不需要注册登录之类的步骤。

下面简单介绍一下这个labelprint程序。

一、程序简介

它就是个网页,手机、平板、电脑,浏览器打开就能用。

最大的好处是写什么打什么,打开的页面本身就是一张纸,你在上面打字,所见即所得,类似于Word,编辑框中是什么样,打出来就什么样(说实话,这一步费了好大劲)。

E:xwechat_filescxs808_5199tempRWTemp2026-109e20f478899dc29eb19741386f9343c83dbe3642e3d2867c1dca887225c60762.pngE:xwechat_filescxs808_5199tempRWTemp2026-109e20f478899dc29eb19741386f9343c83dbe3642e3d2867c1dca887225c60762.png

二、常用功能

1.打印文字。这属于基本功能,可以调整字号、对齐方式等。

2.打印图片。上传图片后,能旋转、反色、调深浅,预览里直接看。

写了个远程打印程序,让十几年前的有线标签打印机重焕新生

3.打印时间戳。打印的时候可以自动添加当前时间,设计了7种时间格式,可以选择打印在最上面还是最下面。

写了个远程打印程序,让十几年前的有线标签打印机重焕新生

4.无痕模式。正常打印时会记录打印内容,勾选无痕模式后这次打印不写进记录。

5.加了道锁。为了防止别人乱用,我在网址中添加了Token,只有输入正确的Token,才能打开这个网页。

写了个远程打印程序,让十几年前的有线标签打印机重焕新生

三、如何部署

家里有台常开的机器就行,NAS最合适,服务器、树莓派也行。

1.确认设备路径

把标签打印机的usb接口插到 NAS 上,然后在nas的终端里确认一下设备路径:

ls -l /dev/usb/

会看到 lp0、lp1 之类的名字。如果家里已经接了别的打印机,标签打印机很可能是 lp1,认准哪台是哪台,后面要填。

2.测试打印

使用以下命令测试一下能否直接打印:

echo "123123" > /dev/usb/lp0

如果标签打印机能打印出来,那就可以继续操作了。

3.正式部署

3.1. 拉镜像(Docker Hub 国内直连慢,走代理站;失效就换下面的备选)

docker pull docker.1ms.run/wallech/labelprint:latest

docker tag docker.1ms.run/wallech/labelprint:latest wallech/labelprint:latest

3.2. 启动:host 网络 + USB 打印机直通

docker run -d

--name label-print

--network host

--restart unless-stopped

--device /dev/usb/lp0:/dev/usb/lp0

-e LABEL_PRINT_TOKEN='换成你的随机字符串'

-v "$PWD/label-print-logs:/var/log"

wallech/labelprint:latest

3.3. 验证

curl http://127.0.0.1:7900/health

看到 {"status":"ok","service":"label-print"} 就成了。

成功之后,浏览器打开 http://NAS的IP:7900/?token=你的token 就能用了。再配合飞牛的 Lucky 反代、挂上域名,外面也能访问。

装好以后,手机浏览器把这个网址收藏一下,以后点开就用,跟 App 用起来没区别。

有热敏打印机、又有台NAS的朋友,可以试试,有问题欢迎交流。

代码开源在 GitHub(wallechfox/labelprint),Docker 镜像在 Docker Hub(wallech/labelprint)。

国内镜像地址:

docker.1ms.run/wallech/labelprint:latest

hub.rat.dev/wallech/labelprint:latest

dockerpull.com/wallech/labelprint:latest

作者声明本文无利益相关,欢迎值友理性交流,和谐讨论~

展开 收起
0评论

当前文章无评论,是时候发表评论了
提示信息

取消
确认
评论举报

相关文章推荐

更多精彩文章
更多精彩文章
京东京享红包
距结束::
领京东现金红包 天天领3次 最高26888元
红包按钮
最新文章 热门文章
0
扫一下,分享更方便,购买更轻松