美文网首页每天简书打卡挑战
使用python合并多个pdf文件

使用python合并多个pdf文件

作者: 君临天下夜未央 | 来源:发表于2022-10-26 14:02 被阅读0次

    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文件

        本文链接:https://www.haomeiwen.com/subject/jcbazrtx.html