1、安装需要的包
pip install PyPDF2 (使用国内的安装源)
pip install PyPDF2 -i https://pypi.tuna.tsinghua.edu.cn/simple
2、代码
方法一:
import os
from PyPDF2 import PdfFileMerger
target_path = r'pdf'
pdf_lst = [f for f in os.listdir(target_path) if f.endswith('.pdf')]
pdf_lst = [os.path.join(target_path, filename) for filename in pdf_lst]
file_merger = PdfFileMerger()
for pdf in pdf_lst:
file_merger.append(pdf,import_bookmarks=False) # 合并pdf文件
file_merger.write(r"merge.pdf")
或者方法二:
import os
from PyPDF2 import PdfReader,PdfWriter,PdfMerger
def unite_pdf():
merger = PdfMerger()
for pdf in ["C://Users//xxx//Desktop//pdf//00.pdf","C://Users//xxx//Desktop//pdf//01.pdf","C://Users//xxx//Desktop//pdf//02.pdf","C://Users//xxx//Desktop//pdf//03.pdf","C://Users//xxx//Desktop//pdf//04.pdf"]:
merger.append(pdf)
merger.write("合并后的pdf.pdf")
merger.close()
if __name__ =="__main__":
unite_pdf()
文件结构
4、遇到的问题
1、报错:PdfReadError: Unexpected destination ‘/__WKANCHOR_2‘
解决办法:加上参数import_bookmarks=False
file_merger.append(pdf,import_bookmarks=False)
2、注意一下:
合并的时候,pdf_lst 是根据文件的名称来排序生成,如果对于pdf文件合成顺序有要求,建议把文件按照期望的合成顺序编号1 2 3这样,方便一些