
想象一下,如果你的打印机也能像家里的智能音箱一样,动动手指就能远程控制,还能给家人朋友开个“打印账户”,每笔消费都清清楚楚,是不是瞬间觉得生活美好了许多?🥳 CUPS Web 就是来帮你实现这个愿望的!它可不只是个简单的打印工具,而是一个功能超齐全的网页版打印机管理中心,能让你的打印机瞬间“高大上”起来!
🏷️ 一、CUPS Web 是什么?🧐
简单来说,CUPS Web 就是一个让你通过浏览器就能远程管理和使用打印机的“瑞士军刀”!不论你在客厅沙发上,还是在咖啡店里,只要能上网,就能轻松上传文件,让家里的打印机乖乖地把文件吐出来。而且,它还能支持多个用户,给每个人独立的“打印钱包”,打印记录一目了然。家里、小型办公室用起来简直不要太方便!
想象一下,打开网页,登录进去,看到一个简洁又直观的界面:
- 登录认证: 🔒 安全又可靠,只有“对的人”才能进去。
- 打印机列表: 🖨️ 家里或者办公室有几台打印机,一目了然,想用哪个点哪个。
- 文件上传: 📤 轻轻一点,文件咻~地就传上去了。
- 管理后台: ⚙️ 所有设置、用户、账单,统统在这里搞定!
是不是感觉很未来?🤩 这背后,是 CUPS(专业的打印服务)、Go(高性能后端)和 Vue.js(炫酷前端)的强强联手,为你打造无缝的打印体验!
🏷️ 二、功能亮点,让你打印无忧!
CUPS Web 可不是玩虚的,它有一大堆超实用的功能,保证让你爱不释手!
远程打印超方便!🌍
- 随时随地,想打就打: 只要有浏览器,文件一上传,家里的打印机就能开工!再也不用和打印机“面对面”了。
- 格式全能王:
- PDF 文档: 直接就能打,所见即所得。
- 图片文件 (JPG, PNG, GIF): 也能打,还会自动转成PDF,保证效果。
- Office 文档 (docx, xlsx, pptx 等): 啥?Word、Excel、PPT 也能打?对!它会聪明地帮你自动转成 PDF,再也不用担心格式跑偏!
- 文本文件 (txt): 小文本也能轻松搞定,一样转PDF打印。
多用户管理,妈妈再也不担心乱花钱!💰
这是CUPS Web的“杀手锏”之一!
- 分角色管理: 有“大管家”管理员,也有普通用户,各司其职,互不干扰。
- 专属打印余额: 每个用户都有自己的“打印小金库”,打印一页扣一页,明明白白。
- 自动充值: 嫌手动充值麻烦?没关系!管理员可以设置每日、每月、每年自动充值,让你的“小金库”永远不空!
- 消费限额: 担心有人“打印上瘾”?可以给他们设置月度或年度消费上限,超了就不能打,避免浪费!
- 打印记录全追踪: 谁在什么时候,打印了什么文件,花了多少钱,清清楚楚,一查便知。
管理后台,掌控一切!👑
作为管理员,你就是这个打印系统的“CEO”!
- 用户管理: 轻松创建、编辑、删除用户账号,像管理微信群一样简单。
- 充值管理: 随时随地给用户手动充值,还能查看所有的充值历史。
- 打印记录查询: 不管是按用户,还是按时间段,都能精准查询打印记录,想导出也没问题!
- 系统设置: 调整单页打印价格、设置打印记录和上传文件的保留天数,一切尽在掌握。
🏷️ 三、部署指南:轻松拥有你的专属打印管家!
好啦,说了这么多优点,是不是心动了?赶紧跟着我一起,把 CUPS Web 部署起来吧!手把手教你,保证小白也能轻松上手!
前置准备:
- 你的电脑上得有 Docker 和 Docker Compose。(如果还没装,赶紧去官网下载安装,超简单的!)
- 如果你要用本地 USB 打印机,确保它已经插到你的服务器/电脑上了。
步骤 1: 创建项目目录 📁
咱们先找个地方,给 CUPS Web 安个家。
mkdir cups-web
cd cups-web
步骤 2: 搞定 docker-compose.yml 📄
这是我们部署的核心文件,新建一个 docker-compose.yml 文件,然后把下面这段内容复制粘贴进去:
services:
cups:
image: docker.1ms.run/hanxi/cups:latest
container_name: cups
user: root
network_mode: bridge
restart: unless-stopped
environment:
- CUPSADMIN=admin #CUPS的管理员账号
- CUPSPASSWORD=admin #CUPS的管理员密码
ports:
- "631:631"
devices:
- /dev/bus/usb:/dev/bus/usb
volumes:
- /share/Container/cups/config:/etc/cups #冒号左边路径自行修改
cups-web:
image: docker.1ms.run/hanxi/cups-web:latest
container_name: cups-web
restart: unless-stopped
network_mode: bridge
user: root
environment:
- SESSION_HASH_KEY=hd9NZYXO0XmqZhez+KtRLDbiknB+tw6vEeLp0agGMj8=
- SESSION_BLOCK_KEY=T49XBnjxmsas44DNBqR8Sw40UNbK+dlEEBqAzWOVj/A=
- SESSION_SECURE=QUDx2KfTiQu7sMfI0s+zPOrrrkeThI9JZwu5M4BZtjs=
- CUPS_HOST=192.168.31.91:631 #宿主机IP+CUPS的端口
volumes:
- /share/Container/cups/data:/data #冒号左边路径自行修改
- /share/Container/cups/uploads:/uploads #冒号左边路径自行修改
ports:
- "1180:8080"
depends_on:
- cups
步骤 3: 生成安全密钥 🔑
用下面的命令,快速生成SESSION_HASH_KEY、SESSION_BLOCK_KEY、SESSION_SECURE:
# 生成 SESSION_HASH_KEY
openssl rand -base64 32 | tr -d '\n'
# 生成 SESSION_BLOCK_KEY
openssl rand -base64 32 | tr -d '\n'
# 生成 SESSION_SECURE
openssl rand -base64 32 | tr -d '\n'
把输出的内容分别复制粘贴到 docker-compose.yml 文件对应的环境变量上即可。
步骤 4: 启动服务!⚡
一切准备就绪!现在,只需要一行命令,你的 CUPS Web 智能打印系统就能跑起来了!
docker-compose up -d
看到命令行里刷刷刷地出现一些信息,然后告诉你服务已经在后台运行了,就说明成功啦!🎉
5. 配置打印机 🖨️
服务启动后,我们还需要告诉 CUPS 你的打印机在哪。
- 打开浏览器,访问
http://IP:631。 - 输入你在
docker-compose.yml文件里设置的CUPSADMIN用户名和CUPSPASSWORD密码登录。 - 根据页面提示,添加你的打印机。
-
现在的打印机一般都支持无驱动打印,所以可以直接选
互联网打印协议 (ipp)试试,然后Continue。
-
输入
ipp://ip:631/ipp,继续Continue。
-
设置名称、描述和打印机所在的地点(可以随便写),继续
Continue。
-
这一步是选择打印机的品牌,如果找不到就选
General,然后Continue。
-
不知道怎么选就选
IPP Everywhere,然后点Add Printer,完成添加
6. 访问 Web 界面 💻
打印机也配置好了,现在终于可以访问 CUPS Web 的管理界面啦!
- 打开浏览器,访问
http://IP:1180。 - 你会看到一个登录页面。默认的管理员账号是:
- 用户名:
admin - 密码:
admin
- 用户名:
- ⚠️ 重要:首次登录后,请务必立即修改这个默认密码!安全第一嘛!
7. 开始使用 🎉
登录进去之后,你就可以开始玩转 CUPS Web 了!
- 用管理员账号登录。
- 进入管理后台,创建一些普通用户账号(比如给你的家人、同事)。
- 给这些用户设置初始余额和自动充值规则。
- 然后,这些用户就可以登录,开始他们的智能打印之旅啦!

🏷️ 四、深入探索:玩转 CUPS Web 的小技巧
CUPS Web 不只是部署简单,用起来也超方便!咱们再深入了解一下它的“内涵”。

用户角色知多少?🎭
- 管理员(Admin): 你就是这个打印世界的“上帝”!可以管理所有用户、给他们充值、查看所有打印记录、配置系统设置(比如一页纸多少钱、数据保留多久),还能访问超级酷炫的管理后台!
- 普通用户(User): 享受打印便利的“普通人”。他们可以上传文件、选择打印机、查看自己的余额和消费记录,以及个人打印历史。
余额与充值系统,精打细算!💲
CUPS Web 的余额系统简直是“理财小能手”:
- 余额机制: 每个用户都有一个独立的打印余额账户(以“分”为单位)。打印文件时,系统会根据页数和单页价格自动扣费。如果余额不足,就不能打印了哦。
- 自动充值: 管理员可以给特定用户配置自动充值规则:
- 每日充值: 每天自动给你加钱!
- 每月充值: 每月1号自动充值!
- 每年充值: 每年1月1号自动充值!
- 手动充值: 管理员随时可以给用户“打钱”,系统还会记录下每一次充值的历史。
- 消费限额: 怕有人疯狂打印?管理员可以设置:
- 月度限额: 一个月最多能花多少钱。
- 年度限额: 一年最多能花多少钱。
超了限额就不能再打了,直到下个周期或管理员调整限额,帮你合理控制打印预算!
打印功能:支持格式和流程 📄➡️🖨️

CUPS Web 的打印流程非常顺畅:
- 支持的文件格式:
- PDF:
.pdf,直接打,没问题。 - 图片:
.jpg, .jpeg, .png, .gif,会自动转成 PDF 再打。 - Office:
.docx, .xlsx, .pptx, .doc, .xls, .ppt,通过 LibreOffice 大神帮你转成 PDF,格式不跑偏。 - 文本:
.txt,也会自动转成 PDF。
- PDF:
- 打印流程:
- 从列表里选择你要用的打印机。
- 点击“选择文件”按钮,上传你的文件。
- 系统会自动预览。如果是 Office 文档,可以点击“转换”按钮,先预览一下转换后的 PDF 效果。
- 系统会估算打印的页数和费用,让你心里有数。
- 确认无误后,点击“打印”按钮,任务就提交啦!
- 费用计算: 超级简单!
打印费用 = 页数 × 单页价格。单页价格可以由管理员在系统设置里调整,默认是10分钱(也就是0.1元)一页。 - 打印记录: 用户可以随时查看自己的打印历史,包括打印时间、文件名、页数、费用、打印前后的余额以及打印状态,所有信息都清晰可见。
打印机驱动 ⚙️
- CUPS 容器里可能不会预装所有打印机驱动。如果你的打印机不能识别,可能需要你手动进去安装一下对应的驱动。
- 具体操作:可以用
docker exec命令进入 CUPS 容器内部,然后像在 Linux 系统里一样安装驱动。
LibreOffice 转换 🔄
- CUPS Web 的 Web 镜像里已经预装了 LibreOffice 和一些常用字体(包括中文字体),所以 Office 文档转 PDF 通常没问题。
- 转换超时: 默认转换超时时间是 60 秒。如果你的文档特别大或者特别复杂,可能会需要更长时间,甚至出现超时失败的情况。
- 解决办法: 如果遇到转换失败,可以尝试在本地用 Office 软件把文档另存为 PDF,再上传;或者简化一下文档内容。
数据清理 🧹
- 系统会根据你在“系统设置”里设置的“数据保留天数”,自动清理过期的打印记录和对应的上传文件。
- 所以,根据你的存储空间大小和需要,合理设置这个天数很重要哦!
🏷️ 五、常见问题,帮你解惑!
遇到问题别慌,这里有一些常见问题的解答,希望能帮到你!
-
忘记管理员密码怎么办?🤔
- 解决办法: 停止服务,删除数据库文件,然后重新启动服务。这样会清空所有数据,并重新创建一个
admin/admin的默认账号。
docker-compose down rm ./.data/cups-web.db docker-compose up -d(注意:这会清空所有用户数据,慎用!)
- 解决办法: 停止服务,删除数据库文件,然后重新启动服务。这样会清空所有数据,并重新创建一个
-
打印机无法识别怎么办?😩
- 首先确认打印机是否正确连接到了服务器。
- 访问 CUPS 管理界面 (
http://ip:631),检查打印机状态。 - 尝试重启 CUPS 服务:
docker-compose restart cups。 - 检查打印机驱动是否正确安装。
-
Office 文档转换失败?😟
- 可能是文档本身损坏或格式不支持。
- 文档过大或过于复杂,导致 LibreOffice 转换超时。
- 解决办法: 尝试在本地用 Office 或 LibreOffice 打开文档,然后手动另存为 PDF 再上传。或者简化一下文档内容。
-
如何更换打印机?🔄
- 访问 CUPS 管理界面 (
http://ip:631)。 - 删除旧的打印机。
- 添加新的打印机。
- 回到 CUPS Web 界面,刷新一下打印机列表,就能看到新打印机了。
- 访问 CUPS 管理界面 (
宝子们,如果你觉得这篇文章有用,记得给我点个赞,分享给更多小伙伴哦!下期想看什么,评论区告诉我!💖

原创文章,作者:诺多,如若转载,请注明出处:https://www.huluohu.com/posts/2039/
微信扫一扫
支付宝扫一扫