使用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
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容