一个功能强大的Dify打印机插件,支持多种打印协议和内容类型,提供友好的用户体验。
- ✅ 文本直接打印:直接向打印机发送文本内容
- ✅ URL内容打印:从URL下载并打印内容
- 支持文本文件
- 支持图片(自动转换为ASCII)
- 支持PDF文档(提取文本)
- ✅ RAW TCP/IP:端口9100,适用于大多数网络打印机
- ✅ IPP协议:端口631,支持现代网络打印机
- ✅ LPD协议:端口515,支持传统网络打印机
- ✅ 自动协议检测:根据端口自动选择合适的协议
- ✅ 打印机状态查询:查询打印机状态、墨粉余量等信息
- ✅ 打印队列管理:查看和取消打印作业
- ✅ 多语言支持:支持中文、英文、日文、葡萄牙文
- ✅ 编码优化:支持UTF-8、GBK、ASCII编码,解决中文乱码问题
- ✅ 友好界面:使用下拉菜单优化用户体验
- ✅ 错误处理:完善的错误提示和异常处理
- 开发语言:Python 3.12+
- Dify SDK:dify-plugin>=0.4.0
- 网络请求:requests>=2.31.0
- 图片处理:Pillow>=10.0.0
- PDF处理:PyPDF2>=3.0.0
- SNMP支持:pysnmp>=5.0.0
- 登录Dify平台
- 进入插件管理页面
- 搜索"su_printer"并安装
- 下载插件包:
su_printer.difypkg - 登录Dify平台
- 进入插件管理页面
- 点击"上传插件",选择下载的插件包
- 选择"文本打印"工具
- 填写打印机IP地址
- 选择打印机端口
- 输入要打印的文本内容
- 选择合适的编码格式
- 点击"执行"开始打印
- 选择"URL内容打印"工具
- 填写打印机IP地址
- 选择打印机端口
- 输入要打印的URL
- 选择合适的编码格式
- 点击"执行"开始打印
- 选择"查询打印机状态"工具
- 填写打印机IP地址
- 选择打印机端口(可选,默认自动检测)
- 点击"执行"查询状态
- 选择"打印队列管理"工具
- 填写打印机IP地址
- 选择打印机端口
- 选择操作类型:
- "查看队列":查看当前打印队列
- "取消作业":取消指定的打印作业
- 如需取消作业,填写作业ID
- 点击"执行"执行操作
| 端口 | 协议类型 | 描述 |
|---|---|---|
| 9100 | RAW TCP/IP | 大多数网络打印机默认端口 |
| 631 | IPP | 现代网络打印机支持的协议 |
| 515 | LPD | 传统网络打印机支持的协议 |
| 编码 | 适用场景 |
|---|---|
| UTF-8 | 通用编码,支持多种语言 |
| GBK | 适用于中文环境,特别是Brother打印机 |
| ASCII | 仅适用于英文文本 |
-
克隆仓库:
git clone https://github.com/SuMuxi66/su_printer.git cd su_printer -
安装依赖:
pip install -r requirements.txt
-
打包插件:
dify plugin package .
su_printer/
├── _assets/ # 插件资源文件
├── docs/ # 文档
├── provider/ # 插件提供者配置
├── tools/ # 工具定义
│ ├── print_text.py # 文本打印工具
│ ├── print_url.py # URL内容打印工具
│ ├── print_status.py # 打印机状态查询工具
│ └── print_queue.py # 打印队列管理工具
├── main.py # 插件入口
├── manifest.yaml # 插件元信息
└── requirements.txt # 依赖列表
- Fork本仓库
- 创建特性分支:
git checkout -b feature/AmazingFeature - 提交更改:
git commit -m 'Add some AmazingFeature' - 推送到分支:
git push origin feature/AmazingFeature - 打开Pull Request
本项目采用MIT许可证 - 查看LICENSE文件了解详情
- GitHub: @SuMuxi66
- 项目链接: https://github.com/SuMuxi66/su_printer
感谢所有为本项目做出贡献的开发者和用户!
享受打印的乐趣! 🎉