这是一个基于Flask的自助打印系统,允许用户上传文件并提交打印任务。
- 项目名称:自助打印系统
- 版本:v1.0.0
- 作者:梦涵LOVE
- 联系方式:QQ 2193438288
- 支持多种文件格式:TXT, PDF, PNG, JPG, DOC, DOCX
- 可设置打印份数
- 可选择彩色打印或双面打印
- 文件预览功能
- 简洁友好的用户界面
- 支持在线支付功能(可选)
- 任务状态实时跟踪
- Python 3.7+
- Windows操作系统(打印功能基于Windows命令)
- 已安装打印机并正确配置
- 确保您的计算机已安装Python 3.7或更高版本
- 确保您的打印机已正确安装并能够正常工作
- 如果使用网络打印机,确保打印机已连接到网络并获取IP地址
- 克隆项目代码:
或直接下载ZIP压缩包并解压
git clone https://github.com/MengHanLOVE1027/Printer_Auto.git
- 进入项目目录:
cd Printer_Auto - 安装依赖包:
pip install -r requirements.txt
-
打开app.py文件
-
在文件开头的配置部分修改以下参数:
基本配置
# Flask应用配置 app = Flask(__name__) app.secret_key = 'your_secret_key' # 修改为您的密钥(这个没啥改的,默认就行) # 文件上传配置 UPLOAD_FOLDER = 'uploads' ALLOWED_EXTENSIONS = set() # 空集合表示允许所有文件类型 app.config['UPLOAD_FOLDER'] = UPLOAD_FOLDER app.config['MAX_CONTENT_LENGTH'] = 16 * 1024 * 1024 # 限制上传文件大小为16MB
打印机配置 (其实他会自己查找你添加过的打印机)
# 打印机配置 PRINTER_NAME = "HP2C05A1 (HP DeskJet 2800 series)" # 修改为您的默认打印机名称 HP_PRINTER_IP = "192.168.3.225" # 修改为您的HP打印机IP地址 HP_PRINTER_NAME = "HP DeskJet 2800e" # 修改为您的HP打印机名称
支付配置(可选) 本系统使用码支付[mpay]作为支付功能实现的前提,您可以选择是否启用支付功能
# 支付配置 PAYMENT_KEY = "1145141919810" # 修改为您的码支付密钥 PAYMENT_API_URL = "https://example.web/mapi.php" # 修改为您的码支付API接口 PAYMENT_SUBMIT_URL = "https://example.web/submit.php" # 修改为您的码支付提交接口 ENABLE_PAYMENT = True # 是否启用支付功能,True为启用,False为禁用 # 打印价格配置(每页价格) PRICE_PER_PAGE_MONOCHROME = 0.1 # 修改为您的黑白打印每页价格 PRICE_PER_PAGE_COLOR = 0.3 # 修改为您的彩色打印每页价格
支付配置说明
- ENABLE_PAYMENT:控制是否启用支付功能,设置为True时启用支付功能,用户需要支付后才能打印;设置为False时禁用支付功能,用户上传文件后直接打印
- PAYMENT_KEY:码支付商户密钥,在码支付后台"商户设置"中获取
- PAYMENT_API_URL:码支付API接口地址,通常为https://codepay.fateqq.com/mapi.php
- PAYMENT_SUBMIT_URL:码支付提交接口地址,通常为https://codepay.fateqq.com/submit.php
- 请确保在码支付后台正确配置了回调地址,格式为:http://您的域名/notify_url
- 支持的支付方式:支付宝、微信支付、QQ钱包等
注意事项
- 如果您不需要支付功能,只需将ENABLE_PAYMENT设置为False即可
- 禁用支付功能后,用户上传文件后将直接进入打印队列,无需支付
- 启用支付功能前,请确保已正确配置码支付相关参数
- 运行应用:
python app.py - 在浏览器中访问:
http://localhost:5000 - 检查系统是否正确检测到您的打印机
- 如果没有检测到打印机,请返回步骤4修改打印机配置
关于码支付 码支付是一款便捷收款工具,专注于个人免签收款,通过普通收款码即可实现收款通知自动回调,支持绝大多数商城系统。本项目使用码支付作为支付功能实现的前提。
使用前提
- 搭建好你自己的码支付
- 获取API密钥和接口地址:登录码支付后台,在"商户设置"中获取您的商户ID和密钥
- 配置收款码:在码支付后台添加您的支付宝、微信等收款码
- 将获取的信息填入app.py文件的支付配置部分
- 测试支付功能是否正常工作
注意事项
- 请确保您的收款码有效且能够正常收款
- 确保所有配置正确后,重新启动应用:
python app.py - 系统将在本地启动,监听5000端口
- 您可以通过浏览器访问:
http://localhost:5000
- 打开浏览器,访问系统地址(如:
http://localhost:5000) - 点击"选择文件"按钮,选择要打印的文件
- 系统支持多种文件格式:TXT, PDF, PNG, JPG, DOC, DOCX
- 文件大小限制为16MB
- 选择文件后,系统会显示文件预览(如果支持预览)
- 设置打印份数(默认为1份)
- 根据需要选择彩色打印或双面打印选项
- 选择纸张大小(默认为A4)
- 从下拉列表中选择打印机(系统会自动检测可用打印机)
- 系统会自动计算打印费用(如果启用了支付功能)
- 点击"提交打印"按钮
- 如果启用了支付功能,系统会跳转到支付页面
- 如果未启用支付功能,系统会直接提交打印任务
- 在支付页面选择支付方式(支付宝、微信支付等)
- 扫描二维码或跳转到支付页面完成支付
- 支付成功后,系统会自动提交打印任务
- 如果支付失败,您可以重试支付或联系管理员
- 提交任务后,系统会显示任务状态页面
- 您可以实时查看打印进度:
- "等待中":任务已提交,等待处理
- "处理中":正在打印文件
- "已完成":打印任务已完成
- "失败":打印任务失败,请联系管理员
- 页面会自动刷新,显示最新状态
- 打印任务完成后,请到打印机处取件
- 确认打印质量和数量
- 如有问题,请联系管理员
- 访问
/tasks页面查看所有打印任务 - 您可以查看任务状态、创建时间和打印历史
- 点击任务ID可以查看任务详细信息
- 系统会自动检测可用打印机
- 您可以在打印时选择不同的打印机
- 支持本地打印机和网络打印机
- 如果打印机状态显示为"未知",请检查打印机连接
- 支持多种支付方式
- 可以查看支付状态和历史记录
- 支持订单查询功能
- 如果支付遇到问题,可以联系管理员
Q: 系统无法检测到我的打印机? A:
- 确保打印机已正确安装并连接到计算机
- 尝试在Windows系统中打印测试页,确认打印机工作正常
- 检查app.py中的打印机配置是否正确
- 重启应用程序和打印机
Q: 如何添加网络打印机? A:
- 在app.py文件中配置网络打印机的IP地址和名称
- 确保网络打印机已连接到网络并可以访问
- 系统会自动尝试连接网络打印机
Q: 打印出来的文档格式不正确? A:
- 不同文件格式可能需要不同的打印设置
- 尝试在app.py中调整打印参数
- 或使用其他应用程序打开文件后再打印
Q: 支付失败怎么办? A:
- 检查网络连接和支付账户余额
- 确认支付配置是否正确
- 如果问题持续存在,请联系系统管理员
Q: 如何修改打印价格? A:
- 在app.py文件开头的配置部分修改
PRICE_PER_PAGE_MONOCHROME和PRICE_PER_PAGE_COLOR参数 - 重启应用程序使更改生效
Q: 上传文件失败? A:
- 检查文件大小是否超过16MB限制
- 确认文件格式是否受支持
- 检查网络连接是否正常
Q: 如何备份打印任务数据? A:
- 打印任务数据存储在task_storage.py文件中
- 定期备份此文件和uploads目录中的文件
- 文件大小限制为16MB
- 打印功能基于Windows系统命令,可能需要根据实际打印机配置进行调整
- 确保打印机已正确安装并连接到计算机
- 支付功能需要正确的配置才能正常工作
- 请定期清理uploads目录中的临时文件
- 建议定期备份系统数据和配置文件
Printer_Auto/
├── app.py # 主应用文件
├── requirements.txt # 项目依赖
├── payment.py # 支付相关功能
├── task_storage.py # 任务存储功能
├── templates/ # HTML模板
│ ├── index.html # 主页模板
│ ├── payment.html # 支付页面模板
│ ├── task_status.html # 任务状态页面模板
│ └── tasks.html # 任务列表页面模板
└── uploads/ # 上传文件存储目录(自动创建)
您可以根据需要修改以下配置:
- 在app.py文件开头的配置部分修改所有系统参数
- 修改打印机配置以适应您的硬件环境
- 调整支付配置以集成您的支付系统
- 修改价格设置以适应您的业务需求
MIT