30个PDF要合并?200页的合同要拆成小份?还在手动拖拽?
两段代码,彻底告别这种苦力活。
准备工作
安装好python3.*版本,然后在命令窗口中安装pypdf库(输入如下命令按回车键):

提醒:老教程的 PyPDF2 已停更,用pypdf。
一、合并PDF:N个变1个
下图是我要合并的6个pdf,每个pdf有3页。

1.新建merge_pdf.py,代码如下:
from pypdf import PdfWriter, PdfReaderfrom pathlib import Path# 存放所有PDF的文件夹folder_path = "pdfs"# 输出文件名output_file = "./合并结果.pdf"writer = PdfWriter()# 获取所有PDF文件,按文件名排序for pdf_path in sorted(Path(folder_path).glob("*.pdf")):reader = PdfReader(pdf_path)for page in reader.pages:writer.add_page(page)writer.write(output_file)writer.close()print(f"✅ 合并完成!共 {len(writer.pages)} 页 → {output_file}")

二、拆分PDF:1个变N个
“大文件”拆分前,文件如下:

1.新建split_pdf.py文件,代码如下:
from pypdf import PdfReader, PdfWriterreader = PdfReader("./合同大文件.pdf")pages_per = 2 # 每个文件多少页for start in range(0, len(reader.pages), pages_per):writer = PdfWriter()end = min(start + pages_per, len(reader.pages))for num in range(start, end):writer.add_page(reader.pages[num])part = start // pages_per + 1writer.write(f"./合同大文件_第{part}部分.pdf")writer.close()print("拆分完成")
print("拆分完成")
200页拆成20份,3秒完事。 拆分后,如下图:

三、常见问题

四、⚠️ 遇到加密PDF报错?
报错提示 cryptography is required: 方法:在命令窗口中输入如下命令并回车: pip install cryptography 装完重新运行即可。
写在最后
手动处理PDF是典型的低价值重复劳动。
收藏这篇文章,下次直接复制粘贴。
下期写什么?你来定!
⭕ 批量加水印
⭕ 提取指定页面
⭕ 图片转PDF
⭕ 按章节自动拆分
评论区告诉我,点赞最高的先写!
夜雨聆风