You need to enable JavaScript to run this app. 如何使用Python 3实现多个PDF文件的合并操作
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python 3实现多个PDF文件的合并操作

Python 3 多PDF文件合并实现方案

方案1:使用pypdf(原PyPDF2官方继任库)

该库是PyPDF2的官方迭代版本,由原团队持续维护更新,完全兼容Python3各主流版本,API和老版PyPDF2几乎一致,迁移成本极低。

  • 安装命令:pip install pypdf
  • 合并代码示例:
from pypdf import PdfMerger

# 按合并顺序填写需要合并的PDF文件路径
pdf_list = ["1.pdf", "2.pdf", "3.pdf"]
merger = PdfMerger()

for pdf_path in pdf_list:
    merger.append(pdf_path)

# 输出合并后的文件
merger.write("merged_result.pdf")
merger.close()
  • 功能优势:支持保留原PDF元数据、处理带密码的加密PDF、自定义合并页码范围,修复了老版PyPDF2的大量兼容性bug。

方案2:使用PyMuPDF(又名fitz,高性能PDF处理库)

该库是目前Python生态中性能最强的PDF处理工具之一,社区活跃迭代频繁,适合大体积PDF、大批量PDF的合并场景。

  • 安装命令:pip install pymupdf
  • 合并代码示例:
import fitz

# 按合并顺序填写需要合并的PDF文件路径
pdf_list = ["1.pdf", "2.pdf", "3.pdf"]
merged_pdf = fitz.open()

for pdf_path in pdf_list:
    current_pdf = fitz.open(pdf_path)
    merged_pdf.insert_pdf(current_pdf)
    current_pdf.close()

# 输出合并后的文件
merged_pdf.save("merged_result.pdf")
merged_pdf.close()
  • 功能优势:合并速度比pypdf快3-5倍,除合并外还支持PDF转图片、文本提取、内容编辑等全场景PDF操作,适合后续有其他PDF处理需求的场景。

通用注意事项

  • 合并前请确认所有待处理PDF无文件占用、无损坏,避免合并过程中断
  • 若待合并PDF设置了打开密码,需先调用对应库的解密方法传入密码后再执行合并操作
  • 合并完成后可校验输出PDF的总页数是否等于所有原PDF页数之和,避免出现缺页问题

内容的提问来源于stack exchange,提问作者Matthieu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.21 10:54:08