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的Django框架中settings文件的部署建议
May 30 Python
python用pickle模块实现“增删改查”的简易功能
Jun 07 Python
Python3.6简单反射操作示例
Jun 14 Python
python多个模块py文件的数据共享实例
Jan 11 Python
使用python脚本自动创建pip.ini配置文件代码实例
Sep 20 Python
flask 框架操作MySQL数据库简单示例
Feb 02 Python
python爬虫开发之Request模块从安装到详细使用方法与实例全解
Mar 09 Python
Python基于Hypothesis测试库生成测试数据
Apr 29 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
Nov 05 Python
使用pandas实现筛选出指定列值所对应的行
Dec 13 Python
python+selenium小米商城红米K40手机自动抢购的示例代码
Mar 24 Python
Python 一键获取电脑浏览器的账号密码
May 11 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邮件专题
2006/10/09 PHP
浅析Dos下运行php.exe,出现没有找到php_mbstring.dll 错误的解决方法
2013/06/29 PHP
php cli配置文件问题分析
2015/10/15 PHP
PHP中使用substr()截取字符串出现中文乱码问题该怎么办
2015/10/21 PHP
初识ThinkPHP控制器
2016/04/07 PHP
超棒的javascript页面顶部卷动广告效果
2007/12/01 Javascript
Javascript中的for in循环和hasOwnProperty结合使用
2013/06/05 Javascript
jQuery制作的别致导航有阴影背景高亮模式窗口
2014/04/15 Javascript
jquery中radio checked问题
2015/03/16 Javascript
JS中prototype的用法实例分析
2015/03/19 Javascript
js拆分字符串并将分割的数据放到数组中的方法
2015/05/06 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
2016/06/28 Javascript
AngularJS出现$http异步后台无法获取请求参数问题的解决方法
2016/11/03 Javascript
JavaScript实现翻页功能(附效果图)
2017/02/16 Javascript
JavaScript中数组Array.sort()排序方法详解
2017/03/01 Javascript
Vue.js教程之axios与网络传输的学习实践
2017/04/29 Javascript
详解JS函数stack size计算方法
2018/06/18 Javascript
微信小程序文章列表功能完整实例
2020/06/03 Javascript
Python简单检测文本类型的2种方法【基于文件头及cchardet库】
2016/09/18 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
Python3.6日志Logging模块简单用法示例
2018/06/14 Python
Python延时操作实现方法示例
2018/08/14 Python
Python面向对象程序设计示例小结
2019/01/30 Python
正则给header的冒号两边参数添加单引号(Python请求用)
2019/08/09 Python
使用Python给头像戴上圣诞帽的图像操作过程解析
2019/09/20 Python
Python3 sys.argv[ ]用法详解
2019/10/24 Python
HTML5 创建canvas元素示例代码
2014/06/04 HTML / CSS
韩国11街:11STREET
2018/03/27 全球购物
彪马英国官网:PUMA英国
2019/02/11 全球购物
外科实习自我鉴定
2013/10/06 职场文书
2014单位领导班子四风对照检查材料思想汇报
2014/09/25 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
工作年限证明范本
2015/06/15 职场文书
2016年母亲节寄语
2015/12/04 职场文书
三严三实·严以修身心得体会
2016/01/15 职场文书
读《推着妈妈去旅行》有感1500字
2019/10/15 职场文书