安装pypdf库
pip install pypdf
获取文件列表
# 合并后的文件名
mergeFileName = 'merged.pdf'
# 获取当前目录下所有PDF文件,并按照文件名自然排序(要排除合并后的文件,避免多次合并造成内容重复)
pdf_files = sorted([f for f in os.listdir('.') if f.endswith('.pdf') and f != mergeFileName], key=lambda x: [int(c) if c.isdigit() else c for c in re.split('(\d+)', x)])
合并PDF
参考官网文档:
https://pypdf2.readthedocs.io/en/stable/user/merging-pdfs.html#basic-example
# 创建PDF文件写入器
merger = PdfMerger()
# 将所有PDF文件添加到写入器中
for pdf in pdf_files:
merger.append(pdf)
# 将合并后的PDF文件保存到磁盘上
# "wb" 以二进制写方式打开,只能写文件。如果文件不存在,创建该文件;如果文件已存在,先清空,再打开文件。
with open(mergeFileName, 'wb') as output:
# 写入合并后的PDF文件
merger.write(output)
merger.close()
如果需要更多合并选项,参考:
https://pypdf2.readthedocs.io/en/stable/user/merging-pdfs.html#showing-more-merging-options
或
https://stackoverflow.com/questions/3444645/merge-pdf-files