Skip to content

MengHanLOVE1027/Printer_Auto

Repository files navigation

自助打印系统

这是一个基于Flask的自助打印系统,允许用户上传文件并提交打印任务。

项目信息

  • 项目名称:自助打印系统
  • 版本:v1.0.0
  • 作者:梦涵LOVE
  • 联系方式:QQ 2193438288

功能特点

  • 支持多种文件格式:TXT, PDF, PNG, JPG, DOC, DOCX
  • 可设置打印份数
  • 可选择彩色打印或双面打印
  • 文件预览功能
  • 简洁友好的用户界面
  • 支持在线支付功能(可选)
  • 任务状态实时跟踪

搭建教程

环境要求

  • Python 3.7+
  • Windows操作系统(打印功能基于Windows命令)
  • 已安装打印机并正确配置

详细安装步骤

1. 准备工作

  • 确保您的计算机已安装Python 3.7或更高版本
  • 确保您的打印机已正确安装并能够正常工作
  • 如果使用网络打印机,确保打印机已连接到网络并获取IP地址

2. 下载项目

  • 克隆项目代码:
    git clone https://github.com/MengHanLOVE1027/Printer_Auto.git
    
    或直接下载ZIP压缩包并解压

3. 安装依赖

  • 进入项目目录:
    cd Printer_Auto
    
  • 安装依赖包:
    pip install -r requirements.txt
    

4. 配置系统

  • 打开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即可
    • 禁用支付功能后,用户上传文件后将直接进入打印队列,无需支付
    • 启用支付功能前,请确保已正确配置码支付相关参数

5. 测试打印机连接

  • 运行应用:
    python app.py
    
  • 在浏览器中访问:http://localhost:5000
  • 检查系统是否正确检测到您的打印机
  • 如果没有检测到打印机,请返回步骤4修改打印机配置

6. 配置支付系统(可选)

关于码支付 码支付是一款便捷收款工具,专注于个人免签收款,通过普通收款码即可实现收款通知自动回调,支持绝大多数商城系统。本项目使用码支付作为支付功能实现的前提。

使用前提

  • 搭建好你自己的码支付
  • 获取API密钥和接口地址:登录码支付后台,在"商户设置"中获取您的商户ID和密钥
  • 配置收款码:在码支付后台添加您的支付宝、微信等收款码
  • 将获取的信息填入app.py文件的支付配置部分
  • 测试支付功能是否正常工作

注意事项

  • 请确保您的收款码有效且能够正常收款

7. 启动系统

  • 确保所有配置正确后,重新启动应用:
    python app.py
    
  • 系统将在本地启动,监听5000端口
  • 您可以通过浏览器访问:http://localhost:5000

使用教程

基本使用流程

1. 上传文件

  • 打开浏览器,访问系统地址(如:http://localhost:5000
  • 点击"选择文件"按钮,选择要打印的文件
  • 系统支持多种文件格式:TXT, PDF, PNG, JPG, DOC, DOCX
  • 文件大小限制为16MB
  • 选择文件后,系统会显示文件预览(如果支持预览)

2. 设置打印选项

  • 设置打印份数(默认为1份)
  • 根据需要选择彩色打印或双面打印选项
  • 选择纸张大小(默认为A4)
  • 从下拉列表中选择打印机(系统会自动检测可用打印机)
  • 系统会自动计算打印费用(如果启用了支付功能)

3. 提交打印任务

  • 点击"提交打印"按钮
  • 如果启用了支付功能,系统会跳转到支付页面
  • 如果未启用支付功能,系统会直接提交打印任务

4. 支付(如果启用)

  • 在支付页面选择支付方式(支付宝、微信支付等)
  • 扫描二维码或跳转到支付页面完成支付
  • 支付成功后,系统会自动提交打印任务
  • 如果支付失败,您可以重试支付或联系管理员

5. 跟踪任务状态

  • 提交任务后,系统会显示任务状态页面
  • 您可以实时查看打印进度:
    • "等待中":任务已提交,等待处理
    • "处理中":正在打印文件
    • "已完成":打印任务已完成
    • "失败":打印任务失败,请联系管理员
  • 页面会自动刷新,显示最新状态

6. 取件

  • 打印任务完成后,请到打印机处取件
  • 确认打印质量和数量
  • 如有问题,请联系管理员

高级功能使用

1. 任务管理

  • 访问/tasks页面查看所有打印任务
  • 您可以查看任务状态、创建时间和打印历史
  • 点击任务ID可以查看任务详细信息

2. 打印机管理

  • 系统会自动检测可用打印机
  • 您可以在打印时选择不同的打印机
  • 支持本地打印机和网络打印机
  • 如果打印机状态显示为"未知",请检查打印机连接

3. 支付管理

  • 支持多种支付方式
  • 可以查看支付状态和历史记录
  • 支持订单查询功能
  • 如果支付遇到问题,可以联系管理员

常见问题解决

打印机相关问题

Q: 系统无法检测到我的打印机? A:

  • 确保打印机已正确安装并连接到计算机
  • 尝试在Windows系统中打印测试页,确认打印机工作正常
  • 检查app.py中的打印机配置是否正确
  • 重启应用程序和打印机

Q: 如何添加网络打印机? A:

  • 在app.py文件中配置网络打印机的IP地址和名称
  • 确保网络打印机已连接到网络并可以访问
  • 系统会自动尝试连接网络打印机

Q: 打印出来的文档格式不正确? A:

  • 不同文件格式可能需要不同的打印设置
  • 尝试在app.py中调整打印参数
  • 或使用其他应用程序打开文件后再打印

支付相关问题

Q: 支付失败怎么办? A:

  • 检查网络连接和支付账户余额
  • 确认支付配置是否正确
  • 如果问题持续存在,请联系系统管理员

Q: 如何修改打印价格? A:

  • 在app.py文件开头的配置部分修改PRICE_PER_PAGE_MONOCHROMEPRICE_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

About

一个自助打印系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published