Sign inSign up

scientistpun/meow-printer

By scientistpun

•Updated 4 months ago

可以部署在局域网的打印web端

Image
1

2.8K

scientistpun/meow-printer repository overview

⁠Meow Printer 打印喵

🌐 局域网打印机控制服务,通过 Web 界面上传文件并发送到 CUPS 打印机打印。支持移动端适配,随时随地打印文件。

⁠特性

  • 移动端适配: 专为手机和平板优化的卡片式界面,随时随地打印
  • 中文支持: 完整的 UTF-8 locale 支持,中文文件名无乱码
  • 多格式支持: PDF、JPG、PNG、DOC、DOCX
  • 文本创建: 内置文本编辑器,支持创建纯文本文件并生成 PDF
  • 长图拼接: 多张图片按顺序拼接,自动按纸张尺寸分页生成 PDF
  • N-up 打印: 每张纸打印 2、4、6、9 页
  • 自定义页面范围: 支持指定页面(如 1,3,5-10)
  • 页码显示: 预览和打印时可在页面底部添加页码,n-up 模式下在每页显示原文件页码(如 1/3)
  • 页面缩放: 适应页面或自定义百分比(10%-200%滑块)
  • 方向模式: 支持纵向和横向
  • 字体管理: 自动检测字体目录中的字体
  • 历史文件: 上传过的文件自动保存,随时重新打印
  • 日志查看: 实时查看应用运行日志

⁠快速开始

⁠开发模式
npm install
npm start

访问 http://localhost:3000⁠

⁠Docker 部署

使用 docker run 快速启动:

docker run -d \
  --name meow-printer \
  -p 3000:3000 \
  -e CUPS_HOST=192.168.10.1 \
  -e CUPS_PORT=631 \
  -e CUPS_USER=admin \
  -e CUPS_PWD=123456 \
  -e TZ=Asia/Shanghai \
  scientistpun/meow-printer:latest

或使用 docker-compose:

docker-compose up -d

⁠项目结构

meow-printer/
├── src/
│   ├── app.js           # Express 服务入口
│   ├── config/          # 配置目录
│   │   ├── config.js    # 后端配置
│   │   └── global.js    # 全局共享配置
│   ├── controller/      # 控制器
│   ├── service/         # 服务层 (cups.js, pdf.js)
│   ├── utils/           # 工具函数
│   └── web/             # 前端视图 (index.html 移动端, old.html 桌面端)
├── public/
│   ├── cache/           # 缓存目录
│   ├── fonts/           # 字体目录
│   └── uploads/         # 上传目录
├── logs/                 # 日志目录
├── docker-compose.yml
├── Dockerfile
└── README.md

⁠配置说明

⁠目录说明
  • public/ - 静态资源目录(缓存、字体、上传文件)
  • logs/ - 日志文件目录
  • src/view/ - 前端页面(index.html 移动端,old.html 桌面端)

⁠API 接口

方法路径说明
GET/api/printers获取打印机列表
POST/api/print提交打印任务
GET/api/jobs获取打印任务列表
DELETE/api/jobs/:id取消打印任务
GET/api/fonts获取可用字体
POST/api/files上传文件
POST/api/textfile创建文本文件
GET/api/history获取历史文件
DELETE/api/history/:name删除历史文件
GET/api/logs获取日志列表
GET/api/settings获取设置
POST/api/settings保存设置

⁠部署说明

⁠前置要求

本应用为局域网打印机控制服务,部署前需要:

  1. CUPS 服务器 - 局域网内已部署并配置好打印机的 CUPS 服务器
  2. 网络互通 - 部署机器与 CUPS 服务器网络相通
⁠Docker 部署
docker-compose up -d
⁠环境变量配置
变量默认值说明
CUPS_HOST192.168.10.1CUPS 服务器地址
CUPS_PORT631CUPS 服务器端口
CUPS_USERadminCUPS 用户名
CUPS_PWD123456CUPS 密码
DEVfalse调试模式
TZAsia/Shanghai时区

⁠License

MIT

Tag summary

Content type

Image

Digest

sha256:52bf42573…

Size

470 MB

Last updated

4 months ago

docker pull scientistpun/meow-printer