使用python合并多个pdf文件

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()

文件结构

image.png

4、遇到的问题

1、报错:PdfReadError: Unexpected destination ‘/__WKANCHOR_2‘

解决办法:加上参数import_bookmarks=False
file_merger.append(pdf,import_bookmarks=False)

2、注意一下:

合并的时候,pdf_lst 是根据文件的名称来排序生成,如果对于pdf文件合成顺序有要求,建议把文件按照期望的合成顺序编号1 2 3这样,方便一些


image.png

你可能感兴趣的:(使用python合并多个pdf文件)