Skip to content

Repository files navigation

简体中文 | English

Batch Print Tool

License Python OS Release Download

项目简介

批量打印工具(Batch Print Tool) 是一款运行在 Windows 上的本地小工具,用来批量打印 Word / Excel / PDF, 并支持逐文件设置 双面 / 单面、打印份数、彩色 / 黑白、打印页码范围。文件只在本机处理,全程不上传任何网络。

为什么需要它:Windows 自带右键「打印」无法逐项设置细节,而这个工具把它们集中到一个网页里,选好一次点「开始打印」即可。

主要特性:

  • 📄 支持 PDF / Word(.doc/.docx) / Excel(.xls/.xlsx) / PPT(.ppt/.pptx) —— Word/Excel/PPT 由本机 Microsoft Office 直接打印,PDF 由系统自带阅读器「右击打印」,均不依赖任何中间转换,最快最稳
  • 🖨️ 逐文件精细设置:双面(长边翻转 / 短边翻转)、份数、彩色 / 黑白、页码范围(如 1-31,3,5-7
  • 📋 表格化任务列表:自动按文件名排序,序号、文件、双面、份数、彩色、页码、实时页数、状态一目了然
  • 🎯 全局 + 单文件双层控制:顶部「全局设置」选好后点「应用到全部」一次性下发,也可在表格里单独改某一行
  • 默认黑白:新上传的文件默认按黑白打印,避免误打彩色浪费墨水
  • 💾 记住默认打印机:界面点「设为默认」后,下次打开自动选中,无需每次下拉选择
  • 🔄 失败一键重打:打印失败的文件会标记红色,提供「重新打印失败的文件」按钮单独重试,无需重头再来
  • 实时状态回执:每个文件发送成功后,对应行状态变绿色「已完成」;失败显示红色「失败」,下方日志有详情
  • 🎨 现代化界面:参考 Neve 主题设计,苹果字体栈、圆角自定义下拉(不挤占布局、覆盖式展开)、柔和配色,头部带 LOGO 与「Batch Print 批量打印工具」标题
  • 🔗 头部快捷按钮:右上角提供微信、小红书、GitHub 跳转按钮(平台官方配色,统一大小),便于联系作者与关注项目
  • 🪟 无黑框、普通浏览器打开:基于 Python 标准库(无第三方 Web 框架),双击即用系统默认浏览器打开网页(无控制台黑窗);用完点右上角「退出程序」即可停止后台服务。打印由本机 Office 与系统 PDF 阅读器完成,无需额外引擎
  • 打印提速:直接调用本机 Office 与系统 PDF 阅读器打印(等同文件右键打印),无中间转换、无引擎冷启动,出纸快且稳

预览

界面预览

快速开始(普通用户,推荐)

  1. Releases 下载 BatchPrint.exe(单文件,自带本机打印能力,约 21MB)。
  2. 双击 BatchPrint.exe
    • 自动用系统默认浏览器打开打印页面(无黑框);
    • 如未自动打开,请手动访问 http://127.0.0.1:5001
  3. 用完点页面右上角「退出程序」即可关闭窗口并停止后台服务。

如果 5001 端口已被占用(之前已开过一个),程序会直接打开浏览器复用已有服务,不会重复启动。

使用说明

  1. 选打印机:顶部下拉框选择真实打印机;点「刷新」重新读取;选好常用打印机后点「设为默认」。
  2. 上传文件:点中间虚线框或把文件拖入,可一次多选 PDF / Word / Excel;上传后自动按文件名排序,表格里可看到每个文件的实时页数。
  3. 设参数
    • 全部一样:在「全局设置」行选好后点「应用到全部」;
    • 单个不同:在表格里每行单独改;
    • 页码写法:1-3(第 1~3 页)、1,3,5-7(指定页),留空 = 全部页。
  4. 开始打印:点「开始打印」:
    • 各文件直接提交给本机 Office / 系统 PDF 阅读器打印(等同右键打印),无中间转换;
    • 每行状态实时刷新为「已完成 / 失败」;
    • 若有失败,可点旁边的「重新打印失败的文件」单独重试。
  5. 查看日志:页面下方日志区有每次提交的打印机、设置与返回,失败时显示错误详情便于排查。

从源码运行(开发者)

pip install -r requirements.txt
python app.py
# 浏览器访问 http://127.0.0.1:5001

打包成 exe

pip install pyinstaller
python build_exe.py

产物在 dist/批量打印工具.exe。脚本已用 --add-datatemplates/ 全部打进 exe, 发布时只需这一个文件(自包含、双击即用)。

注意:GitHub 网页拖拽上传附件有 25MB 限制;发布时用命令行 gh release create vX.Y "dist/批量打印工具.exe" 上传(走 uploads API,支持到 2GB)。

目录结构

批量打印工具/
├── app.py              # 网页服务(Python 标准库 http.server,无第三方依赖)
├── print_core.py       # 打印核心:枚举打印机 / 本机 Office 直打 / 系统 PDF 阅读器打印
├── templates/
│   └── index.html      # 网页界面
├── requirements.txt
├── build_exe.py        # 打包脚本
├── LICENSE
└── .gitignore

常见问题

1. 打印没出纸 / 提示失败?

  • 确认选的是真实打印机。「Microsoft Print to PDF / WPS PDF / Adobe PDF」是虚拟打印机,会弹「另存为」窗口,不适合静默批量打印。
  • 去 Windows「设置 → 打印机」看该打印机是否处于「已暂停」或「脱机」状态。
  • 若之前有失败的打印任务卡在队列里,先清空队列再重试。

2. 电脑里那台 "WPS PDF" 名字带乱码? 那是 WPS 安装时写入系统的坏名字(非本工具 bug),且它是虚拟打印机,建议别用来真打。

3. 打印 Word / Excel / PPT 需要装什么? 只需本机已安装 Microsoft Office(Word/Excel/PowerPoint)。本工具通过 Office 自带的 COM 接口直接打印,无需任何中间转换。PDF 打印依赖系统已关联的 PDF 阅读器(如 Edge、Adobe Acrobat 等),无需额外安装。

4. 上传的文件存在哪? 临时存放在 %USERPROFILE%/.batch_print/uploads/,打印完不会自动删除,可手动清理。

5. 打印时打印机没反应 / 特别慢?

  • 首次切换打印机时会枚举系统所有打印机(约 1~2 秒),之后会缓存 120 秒;
  • 本工具直接调用本机 Office / 系统 PDF 阅读器打印(等同文件右键打印),一般出纸很快;若仍无反应,请确认选的是真实打印机、且未处于「暂停 / 脱机」状态;
  • 虚拟打印机(Microsoft Print to PDF / WPS PDF / Adobe PDF)会弹「另存为」窗口,不适合静默批量打印。

第三方组件许可

  • 本工具仅用 Python 标准库(无 Flask 等第三方 Web 框架)完成网页服务;打印由本机已安装的 Office 与系统 PDF 阅读器完成,不捆绑任何第三方打印引擎。
  • 本项目以 MIT 许可发布(见 LICENSE

许可证

本项目以 MIT License 发布。

About

批量打印工具 Batch Print Tool · 本地批量打印 Word/Excel/PDF,可设置双面/份数/彩色/黑白/页码,单文件 exe 双击即用 | Batch-print Word/Excel/PDF locally with per-file duplex/copies/color/page-range; single-file portable exe, double-click to run

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages