有没有遇到过这种情况:
- 多个 PDF,你想合成一份复习资料?
- 下载了很多发票凭证、行程单,想合并成一份报销文件?
- 每次打开 Acrobat 合并太麻烦,或者要付费?
用 Python,只需几行代码,立刻搞定!
✅ 效果展示
📦 安装依赖
pip install PyPDF2 rich
🧠 核心代码:merge_pdfs.py
import sys
from pathlib import Path
from PyPDF2 import PdfMerger
from rich import print
from rich.console import Console
console = Console()
def merge_pdfs(file_paths, output_path="merged.pdf"):
merger = PdfMerger()
for path in file_paths:
console.print(f"📄 正在合并:[green]{path}[/]")
merger.append(str(path))
merger.write(output_path)
merger.close()
console.print(f"\n✅ 已输出合并文件:[bold yellow]{output_path}[/]")
if __name__ == "__main__":
if len(sys.argv) < 2:
print("[red]❌ 请至少指定两个 PDF 文件[/]")
sys.exit(1)
input_files = [Path(f) for f in sys.argv[1:]]
merge_pdfs(input_files)
🖱 拖拽也能用!
Mac 或 Windows 上,可以直接把 PDF 拖到终端窗口运行:
$ python merge_pdfs.py [拖进来的文件1] [文件2] ...
🚀 拓展玩法
- ✅ 支持合并任意数量的 PDF
- ✅ 可定制输出名称:
python merge_pdfs.py a.pdf b.pdf c.pdf -o all.pdf - ✅ 加入 GUI:配合 Tkinter 做个小工具
💡 实用场景
- 发票合并报销
- 学习资料整合
- 一键打包作业/合同/申请材料