品易云推流 关闭
文章详情页
文章 > Python基础教程 > 如何用Python合并多个pdf 的文件夹

如何用Python合并多个pdf 的文件夹

头像

2020-10-29 15:59:122466浏览 · 0收藏 · 0评论

当我们下载了需要学习的资料时,发现每篇都是一个独立的章节用起来很不方便,这时候我们可以用Python把它们合并,接下来就一起看看操作方法吧。

一、文件图



二、合并效果



三、python代码


# -*- 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'

"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

合并好的pdf是不是方便查阅了呢~更多Python学习推荐:PyThon学习网教学中心

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

底部广告图