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


Posted in Python onMarch 11, 2019

一、需求说明

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

二、数据形式

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

三、合并效果

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

四、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

总结

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

Python 相关文章推荐
python编程开发之日期操作实例分析
Nov 13 Python
Python使用matplotlib的pie函数绘制饼状图功能示例
Jan 08 Python
python pandas中DataFrame类型数据操作函数的方法
Apr 08 Python
python3 遍历删除特定后缀名文件的方法
Apr 23 Python
Python 字符串与二进制串的相互转换示例
Jul 23 Python
python微元法计算函数曲线长度的方法
Nov 08 Python
python3 实现验证码图片切割的方法
Dec 07 Python
Python上下文管理器全实例详解
Nov 12 Python
python打印n位数“水仙花数”(实例代码)
Dec 25 Python
K最近邻算法(KNN)---sklearn+python实现方式
Feb 24 Python
Python GUI编程学习笔记之tkinter界面布局显示详解
Mar 30 Python
python 实现端口扫描工具
Dec 18 Python
Python实现截取PDF文件中的几页代码实例
Mar 11 #Python
Python XlsxWriter模块Chart类用法实例分析
Mar 11 #Python
Python写一个基于MD5的文件监听程序
Mar 11 #Python
Python使用reportlab模块生成PDF格式的文档
Mar 11 #Python
Python3转换html到pdf的不同解决方案
Mar 11 #Python
Python多项式回归的实现方法
Mar 11 #Python
Python实现定制自动化业务流量报表周报功能【XlsxWriter模块】
Mar 11 #Python
You might like
php使用array_rand()函数从数组中随机选择一个或多个元素
2014/04/28 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
PHP中使用curl入门教程
2015/07/02 PHP
使用PHP uniqid函数生成唯一ID
2015/11/18 PHP
详解php中空字符串和0之间的关系
2016/10/23 PHP
浅谈PHP无限极分类原理
2019/03/14 PHP
关于setInterval、setTimeout在jQuery中的使用注意事项
2011/09/28 Javascript
javascript 进阶篇3 Ajax 、JSON、 Prototype介绍
2012/03/14 Javascript
『jQuery』.html(),.text()和.val()的概述及使用
2013/04/22 Javascript
基于jquery自定义的漂亮单选按钮RadioButton
2013/11/19 Javascript
Jquery插件easyUi表单验证提交(示例代码)
2013/12/30 Javascript
深入理解JavaScript系列(48):对象创建模式(下篇)
2015/03/04 Javascript
javascript中FOREACH数组方法使用示例
2016/03/01 Javascript
Angularjs实现多个页面共享数据的方式
2016/03/29 Javascript
Angular 4 指令快速入门教程
2017/06/07 Javascript
解决Layui选择全部,换页checkbox复选框重新勾选的问题方法
2018/08/14 Javascript
150行代码带你实现微信小程序中的数据侦听
2019/05/17 Javascript
json 带斜杠时如何解析的实现
2019/08/12 Javascript
Python ljust rjust center输出
2008/09/06 Python
Python中的异常处理简明介绍
2015/04/13 Python
详解Python中 sys.argv[]的用法简明解释
2017/12/20 Python
Python3 SSH远程连接服务器的方法示例
2018/12/29 Python
python实现mean-shift聚类算法
2020/06/10 Python
Urban Outfitters美国官网:美国生活方式品牌
2016/08/26 全球购物
彼得罗夫美国官网:Peter Thomas Roth美国(青瓜面膜)
2017/11/05 全球购物
.NET程序员的几道面试题
2012/06/01 面试题
品学兼优的大学生自我评价
2013/09/20 职场文书
实习生单位鉴定意见
2013/12/04 职场文书
中文教师求职信
2014/02/22 职场文书
挂职自我鉴定
2014/02/26 职场文书
政府采购方案
2014/06/12 职场文书
艾滋病宣传标语
2014/06/25 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
民间借贷纠纷答辩状
2015/08/03 职场文书
上手简单,功能强大的Python爬虫框架——feapder
2021/04/27 Python
Python实现随机生成迷宫并自动寻路
2021/06/13 Python