简体中文 | English
批量打印工具(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-3、1,3,5-7) - 📋 表格化任务列表:自动按文件名排序,序号、文件、双面、份数、彩色、页码、实时页数、状态一目了然
- 🎯 全局 + 单文件双层控制:顶部「全局设置」选好后点「应用到全部」一次性下发,也可在表格里单独改某一行
- ⚫ 默认黑白:新上传的文件默认按黑白打印,避免误打彩色浪费墨水
- 💾 记住默认打印机:界面点「设为默认」后,下次打开自动选中,无需每次下拉选择
- 🔄 失败一键重打:打印失败的文件会标记红色,提供「重新打印失败的文件」按钮单独重试,无需重头再来
- ✅ 实时状态回执:每个文件发送成功后,对应行状态变绿色「已完成」;失败显示红色「失败」,下方日志有详情
- 🎨 现代化界面:参考 Neve 主题设计,苹果字体栈、圆角自定义下拉(不挤占布局、覆盖式展开)、柔和配色,头部带 LOGO 与「Batch Print 批量打印工具」标题
- 🔗 头部快捷按钮:右上角提供微信、小红书、GitHub 跳转按钮(平台官方配色,统一大小),便于联系作者与关注项目
- 🪟 无黑框、普通浏览器打开:基于 Python 标准库(无第三方 Web 框架),双击即用系统默认浏览器打开网页(无控制台黑窗);用完点右上角「退出程序」即可停止后台服务。打印由本机 Office 与系统 PDF 阅读器完成,无需额外引擎
- ⚡ 打印提速:直接调用本机 Office 与系统 PDF 阅读器打印(等同文件右键打印),无中间转换、无引擎冷启动,出纸快且稳
- 到 Releases 下载
BatchPrint.exe(单文件,自带本机打印能力,约 21MB)。 - 双击
BatchPrint.exe:- 自动用系统默认浏览器打开打印页面(无黑框);
- 如未自动打开,请手动访问
http://127.0.0.1:5001。
- 用完点页面右上角「退出程序」即可关闭窗口并停止后台服务。
如果
5001端口已被占用(之前已开过一个),程序会直接打开浏览器复用已有服务,不会重复启动。
- 选打印机:顶部下拉框选择真实打印机;点「刷新」重新读取;选好常用打印机后点「设为默认」。
- 上传文件:点中间虚线框或把文件拖入,可一次多选 PDF / Word / Excel;上传后自动按文件名排序,表格里可看到每个文件的实时页数。
- 设参数:
- 全部一样:在「全局设置」行选好后点「应用到全部」;
- 单个不同:在表格里每行单独改;
- 页码写法:
1-3(第 1~3 页)、1,3,5-7(指定页),留空 = 全部页。
- 开始打印:点「开始打印」:
- 各文件直接提交给本机 Office / 系统 PDF 阅读器打印(等同右键打印),无中间转换;
- 每行状态实时刷新为「已完成 / 失败」;
- 若有失败,可点旁边的「重新打印失败的文件」单独重试。
- 查看日志:页面下方日志区有每次提交的打印机、设置与返回,失败时显示错误详情便于排查。
pip install -r requirements.txt
python app.py
# 浏览器访问 http://127.0.0.1:5001pip install pyinstaller
python build_exe.py产物在 dist/批量打印工具.exe。脚本已用 --add-data 把 templates/ 全部打进 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 发布。

