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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + '
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })();
Skip to content

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_FOLDERapp.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

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages