「7天告别WPS会员」第1天:PDF 合并。
不上传文件、不登录账号、不限制次数。现在我自己已经从最早的 qpdf 右键脚本,升级到了一个原生 Windows 小工具:PdfMergeUniversal。
PDF 合并大概是我使用频率最高的“会员功能”之一。
图纸、扫描件、报价附件经常需要合成一个文件。WPS 里的操作当然不难,但如果只是为了这些 PDF 小工具长期付费,总觉得有点不值。
网上也有大量免费的 PDF 合并网站,但工作文件、合同、报价、图纸这类内容,我并不愿意上传到陌生服务器。
我真正想要的操作其实一直很简单:
选中文件 → 调整顺序 → 输入名称 → 合并完成
最开始,我只是用开源工具 qpdf 写了一个 Windows 右键脚本。
后来实际用了一段时间,很快又出现了新的需求:
- Windows 传入多个文件时,顺序不一定稳定;
- 有时只需要临时调整两三个文件的位置;
- 跨文件夹添加 PDF 比较麻烦;
- 文件一多,光看资源管理器不容易确认有没有漏;
- 有时还想把当前顺序保存下来,下次继续使用。
于是我干脆给 qpdf 做了一个原生 Windows 图形界面。
项目叫:
PdfMergeUniversal
目前最新版:
v3.1.4
项目地址:
https://github.com/EventHorizon-13/PdfMergeUniversal
最终效果
现在的使用方式已经比最初的右键脚本完整很多。
可以直接把 PDF 拖进程序,然后:
添加 PDF
↓
检查 / 调整顺序
↓
修改输出文件名
↓
按 Enter
↓
合并完成
也可以从资源管理器中直接右键:
选中多个 PDF
↓
右键
↓
合并 PDF(可调整顺序)
↓
确认顺序
↓
Enter
整个过程仍然是:
本地文件 → 本地 qpdf → 本地输出
不登录账号,不上传服务器,也没有次数限制。
下载
最新版本
PdfMergeUniversal v3.1.4
GitHub Release:
https://github.com/EventHorizon-13/PdfMergeUniversal/releases/tag/v3.1.4
Windows 版直接下载:
项目源码:
https://github.com/EventHorizon-13/PdfMergeUniversal
下载 ZIP 后解压,运行:
PdfMergeUniversal.exe
即可。
它能做什么
目前主要功能包括:
- 拖入多个 PDF;
- 直接拖入整个文件夹;
- 自动统计 PDF 数量和总页数;
- 按文件名自然排序;
- 手动上移、下移文件;
- 一键反转顺序;
- 跨文件夹添加 PDF;
- 导出、导入 CSV 顺序表;
- 自动生成公共前缀文件名;
- 自定义保存位置;
- 支持 Windows 资源管理器右键菜单;
- 合并完成后自动定位输出文件;
- 单实例运行,连续右键添加时会进入同一个窗口。
它并不是一个“大而全”的 PDF 编辑器。
它只解决一个很具体的问题:
把这些 PDF 按这个顺序合成一个文件
qpdf 仍然需要安装
PdfMergeUniversal 本身负责:
选文件
排顺序
统计页数
生成文件名
选择保存位置
真正完成 PDF 页面合并的仍然是:
qpdf
qpdf 是一个开源的 PDF 结构处理工具,支持 Windows、macOS 和 Linux。
在较新的 Windows 系统中,可以直接打开 PowerShell 或 Windows Terminal:
winget install QPDF.QPDF
安装完成后,PdfMergeUniversal 会尝试自动寻找 qpdf。
如果没有找到,也可以点击程序右上角:
···
然后选择:
配置 qpdf...
手动指定:
qpdf.exe
程序目前支持以下几种方式查找 qpdf:
qpdf.exe放在程序同目录;- qpdf 的
bin目录已经加入系统PATH; - 自动搜索常见 Program Files 安装目录;
- 在程序中手动指定
qpdf.exe。
通常配置一次即可。
基本使用方法
1. 添加 PDF
最直接的方法就是拖进去。
可以一次拖入多个 PDF:
A.pdf
B.pdf
C.pdf
也可以直接把整个文件夹拖进去。
程序会自动读取里面的 PDF 文件。
除此之外,还可以点击:
添加 PDF
或者按快捷键:
Ctrl + O
2. 调整顺序
这也是我后来从 CMD 脚本改成图形版最主要的原因。
程序支持:
↑ 上移
↓ 下移
自然排序
反转顺序
也支持快捷键:
Alt + ↑
Alt + ↓
比如有三个文件:
1.pdf
2.pdf
10.pdf
普通字符串排序有时会得到:
1.pdf
10.pdf
2.pdf
程序里的“自然排序”会按照人正常理解数字的方式排列:
1.pdf
2.pdf
10.pdf
对于图纸文件尤其方便。
例如:
图纸1.pdf
图纸2.pdf
图纸10.pdf
图纸11.pdf
会按数字顺序排列,而不是纯字符串顺序。
3. 自动识别页数
添加 PDF 后,程序会调用 qpdf 自动读取每个文件的页数。
顶部会显示类似:
12 个 PDF · 37 页
这样在正式合并前,至少可以快速确认:
- 文件是不是都加进来了;
- 总页数大致是否正确;
- 有没有漏掉某个附件。
对于图纸、扫描件这类文件,这个功能实际挺实用。
4. 自动生成输出文件名
如果一批文件名类似:
CZSZ-HM035U顶砖.pdf
CZSZ-HM035U侧砖.pdf
CZSZ-HM035U底砖.pdf
程序会尝试提取公共前缀:
CZSZ-HM035U
作为默认输出文件名。
当然,也可以直接手动修改。
例如改成:
CZSZ-HM035U全套图纸
最终生成:
CZSZ-HM035U全套图纸.pdf
如果同名文件已经存在,程序不会直接覆盖原文件,而是自动生成新的名称,例如:
CZSZ-HM035U全套图纸 (2).pdf
CZSZ-HM035U全套图纸 (3).pdf
5. 用 CSV 管理复杂顺序
文件特别多的时候,一个个点“上移”和“下移”还是会比较麻烦。
所以程序支持:
导出顺序 CSV
导入顺序 CSV
导出的表格大致类似:
顺序,文件名,完整路径
1,A.pdf,D:\PDF\A.pdf
2,B.pdf,D:\PDF\B.pdf
3,C.pdf,D:\PDF\C.pdf
可以用 Excel、WPS 或其他表格工具打开。
如果想修改顺序,直接调整 CSV 中的行顺序,保存后再导回程序即可。
这个功能对于几十张、上百张图纸特别有用。
v3.1.4 修复了 Excel / WPS 保存 CSV 后无法导入的问题
这个问题是我实际使用之后才发现的。
PdfMergeUniversal 导出的 CSV 本身使用:
UTF-8 BOM
这样 Excel 打开中文不会乱码。
但如果用 Excel 或 WPS 打开 CSV,修改顺序后重新保存,有些 Windows 中文环境会把文件保存成:
ANSI / GBK
旧版程序再次导入时,就可能出现:
CSV 格式不正确
CSV 至少需要“文件名”或“完整路径”列。
看起来像是表格格式错了。
但实际上表头:
文件名
完整路径
都还在。
真正的问题只是:
CSV 编码变了
所以 v3.1.4 已经修复了这个问题。
现在导入 CSV 时支持:
UTF-8
UTF-8 BOM
Windows ANSI / GBK(CP936)
程序会自动识别并转换。
所以现在可以直接:
导出 CSV
↓
Excel / WPS 调整行顺序
↓
保存
↓
重新导入
不需要再手动转换编码。
资源管理器右键菜单
我最开始做这个工具的原因,就是不想每次合并 PDF 都先去找一个软件打开。
所以现在的图形版仍然保留了右键入口。
点击右上角:
···
选择:
安装 PDF 右键菜单
安装完成后,可以在资源管理器里选中多个 PDF。
Windows 11 中通常需要:
右键
↓
显示更多选项
↓
合并 PDF(可调整顺序)
程序会把选中的 PDF 加进窗口。
这时候可以先看一眼顺序:
A.pdf
B.pdf
C.pdf
如果发现:
B.pdf
A.pdf
C.pdf
只需要点一下“上移”或者按:
Alt + ↑
调整后再按:
Enter
即可。
相比最初的 CMD 版本,这个流程多了一步“确认顺序”,但实际反而更稳。
单实例设计
这个功能平时不太显眼,但实际挺有用。
假如已经打开了 PdfMergeUniversal。
然后又去另一个文件夹,右键添加几个 PDF。
程序不会再开第二个窗口,而是把新文件继续加入现有窗口。
所以可以这样操作:
文件夹 A
选中 3 个 PDF
↓
右键添加
↓
文件夹 B
再选中 2 个 PDF
↓
右键添加
↓
最终同一个窗口里有 5 个 PDF
这样跨目录合并会方便很多。
快捷键
日常高频操作基本都可以不用鼠标。
| 快捷键 | 功能 |
|---|---|
Enter |
开始合并 |
Ctrl + Enter |
开始合并 |
Ctrl + O |
添加 PDF |
Ctrl + A |
全选列表 |
Delete |
删除选中项 |
Alt + ↑ |
上移 |
Alt + ↓ |
下移 |
如果经常处理图纸,熟悉以后操作会很快。
它为什么比打开 PDF 软件更方便
这个方案并不是为了替代完整的 PDF 编辑器。
它只专注解决“快速合并”这一件事。
我自己比较看重的几点是:
- 完全本地处理:合同、报价和图纸不用上传;
- 没有会员限制:不限文件数量和使用次数;
- 不重新渲染页面;
- 文字、矢量内容和图片不会因为合并重新压缩;
- 支持拖入整个文件夹;
- 可以手动调整顺序;
- 支持自然排序;
- 支持 CSV 管理复杂顺序;
- 支持跨目录添加 PDF;
- 自动统计页数;
- 支持资源管理器右键菜单;
- 程序本身很轻量。
qpdf 操作的是 PDF 内部的页面结构。
它并不是像“打印为 PDF”那样,把每一页重新渲染一次。
所以单纯做页面拼接时,速度很快。
对于图纸中的文字和矢量线条来说,也不会因为“合并”这个操作导致画质下降。
qpdf 是什么
qpdf 是一个开源的 PDF 结构处理工具。
它本身没有复杂的图形界面,主要通过命令行工作。
比如最核心的 PDF 合并命令,其实类似:
qpdf --empty --pages 文件1.pdf 文件2.pdf -- 合并.pdf
也就是说,真正的底层逻辑并不复杂。
qpdf 负责:
稳定处理 PDF
PdfMergeUniversal 负责:
选文件
排顺序
看页数
生成文件名
选择保存位置
调用 qpdf
这样两层分开,反而比较简单。
不想使用图形版,也可以直接用 qpdf
如果你喜欢命令行,其实完全没必要安装我的程序。
先安装:
winget install QPDF.QPDF
然后直接执行:
qpdf --empty --pages 1.pdf 2.pdf 3.pdf -- output.pdf
一样可以完成合并。
PdfMergeUniversal 本质上只是把这些操作做成了一个更适合日常使用的 Windows 界面。
旧版:最简单的“发送到 → 合并 PDF”脚本
这篇文章最开始发布时,我提供的其实不是 PdfMergeUniversal。
而是一个非常简单的 CMD 一键安装脚本。
它安装之后的操作是:
选中 PDF
↓
右键
↓
显示更多选项
↓
发送到
↓
合并 PDF
↓
输入文件名
如果只是偶尔合并几个已经排好顺序的 PDF,这个方案依然非常够用。
旧版一键安装包:
这个脚本会自动:
- 检查电脑中是否已经安装 qpdf;
- 未安装时通过 winget 安装;
- 自动查找 qpdf 实际路径;
- 在 Windows“发送到”菜单中创建“合并 PDF”;
- 已经安装过时覆盖更新旧脚本。
它最大的优点就是:
简单
直接
不用开窗口
但它也有一个比较明显的问题:
无法直观看到多个 PDF 的实际顺序
所以我自己现在已经基本切换到了 PdfMergeUniversal。
图形版和旧版脚本怎么选
如果你的文件已经提前编号:
01-封面.pdf
02-目录.pdf
03-正文.pdf
04-附件.pdf
而且每次都只是:
选中 → 合并
那么旧版右键脚本仍然很好用。
如果经常出现:
这两个顺序反了
少拖了一个文件
还要加另一个文件夹里的 PDF
想先看一下总页数
文件很多,需要用表格整理顺序
那图形版明显更合适。
我自己目前的习惯是:
简单、顺序已经完全确定
→ 右键脚本也能用
文件多、跨目录、需要检查顺序
→ PdfMergeUniversal
如果需要逐页整理 PDF
PdfMergeUniversal 适合的是:
整份 PDF + 整份 PDF
例如:
封面.pdf
目录.pdf
正文.pdf
附件.pdf
直接连成一个文件。
如果需求是:
从 A.pdf 里拿第 3 页
从 B.pdf 里拿第 7 页
删除其中两页
旋转某一页
拖动页面顺序
这种逐页整理,我更推荐:
PDF Arranger
所以我目前比较习惯这样分工:
整份 PDF 快速合并
→ PdfMergeUniversal
逐页拆分 / 重排
→ PDF Arranger
复杂文字 / 图片修改
→ 其他 PDF 编辑器
没有必要让一个软件承担所有功能。
常见问题
程序提示找不到 qpdf
先尝试安装:
winget install QPDF.QPDF
然后重新打开 PdfMergeUniversal。
如果仍然找不到,点击右上角:
··· → 配置 qpdf...
手动选择:
qpdf.exe
即可。
Windows 11 右键看不到“合并 PDF”
Windows 11 默认会隐藏部分传统右键菜单。
可以先点击:
显示更多选项
再查看。
也可以使用:
Shift + F10
打开传统右键菜单。
PDF 合并顺序不对
如果只是资源管理器直接传入文件,Windows 提供的顺序不一定完全符合预期。
所以建议在 PdfMergeUniversal 中先检查列表。
可以使用:
自然排序
或者:
↑ 上移
↓ 下移
手动调整。
CSV 明明有“文件名”和“完整路径”,为什么旧版仍然报错
如果是 v3.1.3 或更早版本,很可能是 Excel / WPS 保存 CSV 后改变了文件编码。
升级到:
v3.1.4
即可。
新版已经支持:
UTF-8
UTF-8 BOM
ANSI / GBK
合并会降低 PDF 清晰度吗
正常情况下不会。
qpdf 并不是把页面重新打印或者重新渲染。
它主要是在 PDF 结构层面组合页面。
因此文字、矢量线条和原有图片不会因为“合并”这个操作被重新压缩一遍。
输出文件已经存在怎么办
程序不会直接覆盖。
例如原本已经有:
图纸.pdf
再次合并时会自动生成:
图纸 (2).pdf
之后继续:
图纸 (3).pdf
这个方案的局限
它仍然只是一个 PDF 页面合并工具。
它不会:
- 编辑 PDF 里的已有文字;
- 修改 PDF 里的图片;
- OCR;
- 修改表单;
- 做复杂批注;
- 替代 Acrobat 这类完整 PDF 编辑器。
它解决的就是:
选文件 → 排顺序 → 合并
但恰好就是这么一个非常简单的功能,我实际使用频率特别高。
写在最后
最开始写这篇文章时,我想解决的问题只是:
能不能不要为了合并 PDF,每次都打开 WPS?
所以第一版只是一个 qpdf 右键脚本。
后来越用越觉得:
如果合并前能看到文件列表
如果能调一下顺序
如果能显示页数
如果能跨文件夹添加
会实用很多。
于是才有了现在的:
PdfMergeUniversal
现在我的日常使用流程基本变成:
拖入 PDF
↓
检查 / 调整顺序
↓
Enter
↓
完成
或者:
资源管理器选中 PDF
↓
右键发送到程序
↓
确认顺序
↓
Enter
不用登录,不上传文件,也没有次数限制。
“告别 WPS 会员”并不是说 WPS 不好。
而是想把自己真正高频使用的会员功能拆开看看:
哪些功能确实值得为一整套办公软件付费,哪些其实可以用更轻、更自由的工具完成。
第 1 天:
PDF 合并,现在算是彻底解决了。
下一篇继续解决另一个常见需求:
免费编辑 PDF 中的文字、图片和页面。
相关链接
PdfMergeUniversal:
https://github.com/EventHorizon-13/PdfMergeUniversal
v3.1.4 Release:
https://github.com/EventHorizon-13/PdfMergeUniversal/releases/tag/v3.1.4
Windows 版下载:
qpdf:
由 AI 生成