按页 / 按书签 / 按章节,拆 PDF 的三种规则各有适用场景。理解它们的差异和坑,能避免拆完后”50 个文件找不回原顺序”的尴尬。
三种拆分规则对照
| 规则 | 输入 | 输出数 | 适合 |
|---|---|---|---|
| 每页一份 | 无参数 | = 总页数 | 扫描件单页处理、批量打印 |
| 按页码区间 | 区间表达式 | = 区间数 | 提取部分章节、删页 |
| 按书签 | outline 树 | = 书签数 | 长文档分章、按章节交付 |
按页拆分
最简单。一份 100 页的 PDF 拆成 100 份独立 PDF。
适用场景:
- 扫描件每页单独 OCR 后再合并
- 给打印店一页一份
- 把电子书每章交给翻译时(章节边界靠人工切)
不适合大文档——100+ 个文件管理成本高,命名找回原顺序难(见下文”文件名规范”)。
按页码区间
灵活度最高。区间表达式语法跨工具大致一致:
| 表达式 | 含义 |
|---|---|
1-10 | 第 1 到第 10 页 |
1,3,5 | 第 1, 3, 5 页(合成一份) |
1-10, 15, 20-25 | 三段合成多份输出 |
1- | 第 1 页到末页 |
-10 | 头到第 10 页(部分工具支持) |
5-3 | 反向(多数工具报错或反序输出) |
even / odd | 双数页 / 单数页(pdftk、qpdf 等多数现代工具支持) |
输出策略两种:
- 多区间合一:所有区间页合到一个 PDF
- 每区间一份:每段区间独立输出
本工具默认每区间一份,需要合一时手动用 PDF 合并工具拼回去。
按书签拆分
长文档最高效的拆法。前提是原 PDF 有 outline 书签——通过 LaTeX、Word “标题样式”、Markdown 转 PDF 自动生成的目录都有。
操作流程:
- 工具读取 outline 树
- 列出所有顶级书签(一级章节)
- 每个书签确定它对应的页码范围(从该书签所在页到下一个同级书签前一页)
- 按范围拆分
输出文件名一般直接用书签标题:
01-前言.pdf
02-第一章 引言.pdf
03-第二章 方法论.pdf
04-第三章 实验.pdf
05-参考文献.pdf
坑:
- 书签标题含特殊字符(
/、:、?)会被替换成_,要回查 - 书签层级混乱(一级跳到三级)时部分工具拆不动,需要先在 PDF 阅读器里整理 outline
- 没有 outline 的 PDF 不能按书签拆——可以先用 OCR + 工具识别章节标题生成 outline 再拆
文件名规范
要保证”按文件名排序 = 拆分顺序”,需要零填充数字前缀:
| 拆分数 | 前缀格式 |
|---|---|
| ≤ 9 | 1-、2-…(一位足够) |
| 10-99 | 01-、02-… |
| 100-999 | 001-、002-… |
| ≥ 1000 | 0001-、0002-… |
不加前缀的下场:用 macOS Finder 或 Windows 资源管理器看,“第10页.pdf” 会排在 “第2页.pdf” 之前。本工具默认输出形如 <原名>_第N页.pdf,没有零前缀——拆完后用 ZIP 内自带的顺序读,或自己写脚本补前缀:
# zsh / bash:批量给 "第N页" 类文件名补三位前缀
i=1
for f in *_第*页.pdf; do
printf -v new "%03d-%s" "$i" "$f"
mv "$f" "$new"
((i++))
done
删页 = 反向拆分
经常被问”PDF 怎么删一页”——拆分工具的另一种用法:
原 PDF 100 页,要删第 50-55 页:
拆出 1-49 + 56-100 → 合并成 95 页 PDF
很多删页工具内部就是”按区间拆 + 合并”两步。本工具拆 + 合并工具组合用即可。
加密 PDF 的处理
加密 PDF 必须先解密才能拆分(同合并)。本工具不支持直接处理带打开密码的 PDF,请先用 PDF 解密工具去除密码后再拆。
命令行参考
qpdf 拆分单页:
# 拆每一页
qpdf --split-pages=1 input.pdf out.pdf
# 输出 out-001.pdf, out-002.pdf, ...
# 拆指定区间
qpdf input.pdf --pages input.pdf 1-10 -- chapter1.pdf
qpdf input.pdf --pages input.pdf 11-20 -- chapter2.pdf
pdftk 删页:
pdftk input.pdf cat 1-49 56-end output result.pdf
按 outline 拆分需要脚本——pypdf 或 pdfminer.six 读 outline,循环切。GUI 工具帮你省掉这步。
元数据与书签的去向
拆分后每份子 PDF:
- 顶层元数据(Title / Author / 创建时间):从原 PDF 继承
- outline / 书签:只保留范围内的书签子树
- 页内链接:跨子文档的链接会变成”无效链接”——指向已不在的页号
拆完之后要分发给不同人时,记得编辑每份的元数据 Title——否则收件人看到的标签都是原文件名,混乱。
一句话总结
拆页要带数字前缀防字典序灾难,拆书签前查 outline 完不完整,拆完别忘了原书签 / 链接的”丢失代价”。