您的位置:首页 > 脚本大全 > > 正文

利用python合并pdf(Python合并同一个文件夹下所有PDF文件的方法)

更多 时间:2022-01-15 01:48:32 类别:脚本大全 浏览量:2950

利用python合并pdf

Python合并同一个文件夹下所有PDF文件的方法

一、需求说明

下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这些pdf文档放在一个文件夹下,希望合并成一个pdf文件。于是写了一个python程序,很好的解决了这个问题。

二、数据形式

利用python合并pdf(Python合并同一个文件夹下所有PDF文件的方法)

三、合并效果

利用python合并pdf(Python合并同一个文件夹下所有PDF文件的方法)

四、python代码实现

  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • # -*- coding:utf-8*-
  • import sys
  • reload(sys)
  • sys.setdefaultencoding('utf-8')
  • import os
  • import os.path
  • from pypdf import pdffilereader,pdffilewriter
  • import time
  • time1=time.time()
  • # 使用os模块walk函数,搜索出某目录下的全部pdf文件
  • ######################获取同一个文件夹下的所有pdf文件名#######################
  • def getfilename(filepath):
  •   file_list = []
  •   for root,dirs,files in os.walk(filepath):
  •     for filespath in files:
  •       # print(os.path.join(root,filespath))
  •       file_list.append(os.path.join(root,filespath))
  •   return file_list
  • ##########################合并同一个文件夹下所有pdf文件########################
  • def mergepdf(filepath,outfile):
  •   output=pdffilewriter()
  •   outputpages=0
  •   pdf_filename=getfilename(filepath)
  •   for each in pdf_filename:
  •     print each
  •     # 读取源pdf文件
  •     input = pdffilereader(file(each, "rb"))
  •     # 如果pdf文件已经加密,必须首先解密才能使用pypdf
  •     if input.isencrypted == true:
  •       input.decrypt("map")
  •     # 获得源pdf文件中页面总数
  •     pagecount = input.getnumpages()
  •     outputpages += pagecount
  •     print pagecount
  •     # 分别将page添加到输出output中
  •     for ipage in range(0, pagecount):
  •       output.addpage(input.getpage(ipage))
  •   print "all pages number:"+str(outputpages)
  •   # 最后写pdf文件
  •   outputstream=file(filepath+outfile,"wb")
  •   output.write(outputstream)
  •   outputstream.close()
  •   print "finished"
  • if __name__ == '__main__':
  •   file_dir = r'd:/course/'
  •   out=u"第一周.pdf"
  •   mergepdf(file_dir,out)
  •   time2 = time.time()
  •   print u'总共耗时:' + str(time2 - time1) + 's'
  • ?
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • "d:\program files\python27\python.exe" d:/pycharmprojects/learn2017/合并多个pdf文件.py
  • d:/course/c1w1l01 welcome.pdf
  • 3
  • d:/course/c1w1l02 whatisnn.pdf
  • 4
  • d:/course/c1w1l03 suplearnwithnn.pdf
  • 4
  • d:/course/c1w1l04 whyisdltakingoff.pdf
  • 3
  • d:/course/c1w1l05 aboutthiscourse.pdf
  • 3
  • d:/course/c1w1l06 courseresources.pdf
  • 3
  • all pages number:20
  • finished
  • 总共耗时:0.128000020981s
  • process finished with exit code 0
  • 总结

    以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对开心学习网的支持。如果你想了解更多相关内容请查看下面相关链接

    原文链接:https://blog.csdn.net/u013421629/article/details/77703582

    标签:Python PDF 合并
    您可能感兴趣