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 ORM框架SQLAlchemy学习笔记之数据查询实例
Jun 10 Python
Python编写生成验证码的脚本的教程
May 04 Python
Python File readlines() 使用方法
Mar 19 Python
利用python将pdf输出为txt的实例讲解
Apr 23 Python
对python 数据处理中的LabelEncoder 和 OneHotEncoder详解
Jul 11 Python
Python读取excel中的图片完美解决方法
Jul 27 Python
Python实现繁体中文与简体中文相互转换的方法示例
Dec 18 Python
python3字符串操作总结
Jul 24 Python
Django 解决开发自定义抛出异常的问题
May 21 Python
Python猫眼电影最近上映的电影票房信息
Sep 18 Python
Pytorch模型迁移和迁移学习,导入部分模型参数的操作
Mar 03 Python
Python爬虫实战之爬取京东商品数据并实实现数据可视化
Jun 07 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书写安全的脚本代码
2012/02/05 PHP
PHP实现的英文名字全拼随机排号脚本
2014/07/04 PHP
php截取中文字符串函数实例
2015/02/23 PHP
PHP封装的MSSql操作类完整实例
2016/05/26 PHP
Nginx下ThinkPHP5的配置方法详解
2017/08/01 PHP
在js中使用"with"语句中跨frame的变量引用问题
2007/03/08 Javascript
游览器中javascript的执行过程(图文)
2012/05/20 Javascript
javascript仿qq界面的折叠菜单实现代码
2012/12/12 Javascript
js打造数组转json函数
2015/01/14 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
JavaScript实现文本框中默认显示背景图片在获得焦点后消失的方法
2015/07/01 Javascript
Jquery 全选反选实例代码
2015/11/19 Javascript
在Javascript操作JSON对象,增加 删除 修改的简单实现
2016/06/02 Javascript
vue-router2.0 组件之间传参及获取动态参数的方法
2017/11/10 Javascript
如何解决vue2.0下IE浏览器白屏问题
2018/09/13 Javascript
vue项目前端错误收集之sentry教程详解
2019/05/27 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
extjs图表绘制之条形图实现方法分析
2020/03/06 Javascript
JS变量提升原理与用法实例浅析
2020/05/22 Javascript
JS实现简单打字测试
2020/06/24 Javascript
解读Django框架中的低层次缓存API
2015/07/24 Python
剖析Python的Tornado框架中session支持的实现代码
2015/08/21 Python
Python占用的内存优化教程
2019/07/28 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python退出时强制运行一段代码的实现方法
2020/04/29 Python
python怎么删除缓存文件
2020/07/19 Python
PyQt5结合matplotlib绘图的实现示例
2020/09/15 Python
next在python中返回迭代器的实例方法
2020/12/15 Python
HolidayLettings英国:预订最好的度假公寓、别墅和自助式住宿
2019/08/27 全球购物
Carrs Silver官网:英国著名的银器品牌
2020/08/29 全球购物
学生会副主席竞聘书
2014/03/31 职场文书
小学二年级学生评语
2014/04/21 职场文书
大学生入党积极分子党校学习思想汇报
2014/10/25 职场文书
小学三年级班主任工作经验交流材料
2015/11/02 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
浅谈Python魔法方法
2021/06/28 Java/Android