PDF 合并拆分旋转
概述
覆盖最高频的 PDF 页面级操作,无需 Acrobat。合并用于归档,拆分用于抽取单页,旋转用于修正扫描方向。
何时使用
- 合并多份 PDF 成一个文件
- 从大 PDF 里抽出某几页
- 扫描件方向不对需要旋转
快速使用
# 合并
python3 scripts/pdf_tool.py merge a.pdf b.pdf -o merged.pdf
# 按页拆分到目录(每页一个 page_N.pdf)
python3 scripts/pdf_tool.py split in.pdf -d pages/
# 旋转 90 度
python3 scripts/pdf_tool.py rotate in.pdf -o out.pdf -a 90
# 抽取指定页(只保留第 1、3 页,支持 "1-3,5,8-")
python3 scripts/pdf_tool.py extract in.pdf -p "1,3" -o picked.pdf
# 删除指定页(去掉第 2、4 页)
python3 scripts/pdf_tool.py remove in.pdf -p "2,4" -o trimmed.pdf
# 加密 PDF:用 -P 提供打开密码
python3 scripts/pdf_tool.py extract secret.pdf -p 1 -o p1.pdf -P "密码"
依赖安装
# 提示:脚本用相对路径 scripts/,请先 cd 到本技能目录再运行
python3 -m pip install pypdf
常见错误 / 注意
- 合并按输入顺序拼接,注意命名顺序
- 拆分每页单独成文件,页多时文件量大
- 带密码的 PDF 需先解密;本技能当前未含加密处理
实测验证(v0.1.0)
- 核心依赖:
pypdf - 安装体积:🟢 3.9 MB(依赖闭包实测,轻量级)
- 环境要求:无外部二进制依赖。
- 单元测试:
python3 -m unittest tests.test_...(须 cd 到本技能目录运行) - CLI 冒烟:已通过端到端实测
已验证行为
- ✅ split:按页拆分为独立 PDF
- ✅ merge:多文件合并
- ✅ rotate:整册旋转
已知边界 / 坑
- ⚠️ 拆分输出目录会自动创建,无需手动建