22、用 Python 打造 PDF 合并器(支持批量拖拽合并、命令行交互)

124 阅读1分钟

有没有遇到过这种情况:

  • 多个 PDF,你想合成一份复习资料?
  • 下载了很多发票凭证、行程单,想合并成一份报销文件?
  • 每次打开 Acrobat 合并太麻烦,或者要付费?

用 Python,只需几行代码,立刻搞定!


✅ 效果展示

image.png

image.png


📦 安装依赖

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 做个小工具

💡 实用场景

  • 发票合并报销
  • 学习资料整合
  • 一键打包作业/合同/申请材料