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


Posted in Python onApril 28, 2018

本文实例讲述了Python实现合并同一个文件夹下所有PDF文件的方法。分享给大家供大家参考,具体如下:

一、需求说明

下载了网易云课堂的吴恩达免费的深度学习的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文件与目录操作技巧汇总》、《Python编码操作技巧总结》、《Python数据结构与算法教程》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》

希望本文所述对大家Python程序设计有所帮助。

Python 相关文章推荐
简单介绍Python中的JSON模块
Apr 08 Python
Python正则抓取网易新闻的方法示例
Apr 21 Python
python利用urllib实现爬取京东网站商品图片的爬虫实例
Aug 24 Python
python输入错误密码用户锁定实现方法
Nov 27 Python
解决python3爬虫无法显示中文的问题
Apr 12 Python
Python 200行代码实现一个滑动验证码过程详解
Jul 11 Python
Python获取当前脚本文件夹(Script)的绝对路径方法代码
Aug 27 Python
Python基于类路径字符串获取静态属性
Mar 12 Python
Python unittest单元测试openpyxl实现过程解析
May 27 Python
Python脚本调试工具安装过程
Jan 11 Python
python如何用matplotlib创建三维图表
Jan 26 Python
python爬虫beautifulsoup库使用操作教程全解(python爬虫基础入门)
Feb 19 Python
用TensorFlow实现多类支持向量机的示例代码
Apr 28 #Python
详谈python在windows中的文件路径问题
Apr 28 #Python
TensorFlow实现随机训练和批量训练的方法
Apr 28 #Python
对python中的logger模块全面讲解
Apr 28 #Python
详解PyTorch批训练及优化器比较
Apr 28 #Python
Python使用matplotlib实现的图像读取、切割裁剪功能示例
Apr 28 #Python
浅谈python日志的配置文件路径问题
Apr 28 #Python
You might like
PHP header()函数常用方法总结
2014/04/11 PHP
php中二维数组排序问题方法详解
2015/08/28 PHP
Yii2使用自带的UploadedFile实现的文件上传
2016/06/20 PHP
PHP流Streams、包装器wrapper概念与用法实例详解
2017/11/17 PHP
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
javascript中typeof的使用示例
2013/12/19 Javascript
单击和双击事件的冲突处理示例代码
2014/04/03 Javascript
javascript写的一个模拟阅读小说的程序
2014/04/04 Javascript
jquery中post方法用法实例
2014/10/21 Javascript
常用的Javascript数据验证插件
2015/08/04 Javascript
深入解析JavaScript的闭包机制
2015/10/20 Javascript
javascript实现可键盘控制的抽奖系统
2016/03/10 Javascript
js oncontextmenu事件使用详解
2017/03/25 Javascript
微信小程序 动态绑定事件并实现事件修改样式
2017/04/13 Javascript
详解通过JSON数据使用VUE.JS
2017/05/26 Javascript
nodejs模块学习之connect解析
2017/07/05 NodeJs
Vue中的Vux配置指南
2017/12/08 Javascript
React中this丢失的四种解决方法
2019/03/12 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
微信小程序页面间跳转传参方式总结
2019/06/13 Javascript
vue实现登录页面的验证码以及验证过程解析(面向新手)
2019/08/02 Javascript
基于JavaScript的数据结构队列动画实现示例解析
2020/08/06 Javascript
在Vue中使用Echarts实例图的方法实例
2020/10/10 Javascript
解决新建一个vue项目过程中遇到的问题
2020/10/22 Javascript
python对url格式解析的方法
2015/05/13 Python
Python 通过调用接口获取公交信息的实例
2018/12/17 Python
Python实现的插入排序,冒泡排序,快速排序,选择排序算法示例
2019/05/04 Python
python列表,字典,元组简单用法示例
2019/07/11 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
python正则表达式的懒惰匹配和贪婪匹配说明
2020/07/13 Python
HTML5 Canvas实现360度全景图的示例代码
2018/01/29 HTML / CSS
营业员演讲稿
2013/12/30 职场文书
校园摄影活动策划方案
2014/02/05 职场文书
小学阳光体育活动总结
2014/07/05 职场文书
大学教师个人总结
2015/02/10 职场文书
javascript canvas实现雨滴效果
2021/06/09 Javascript