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使用urllib2获取网络资源实例讲解
Dec 02 Python
python类参数self使用示例
Feb 17 Python
Python中的自省(反射)详解
Jun 02 Python
基于python脚本实现软件的注册功能(机器码+注册码机制)
Oct 09 Python
matplotlib绘制动画代码示例
Jan 02 Python
python实现日常记账本小程序
Mar 10 Python
利用Pandas读取文件路径或文件名称包含中文的csv文件方法
Jul 04 Python
Python Series从0开始索引的方法
Nov 06 Python
BP神经网络原理及Python实现代码
Dec 18 Python
Python django框架应用中实现获取访问者ip地址示例
May 17 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
python GUI库图形界面开发之PyQt5控件数据拖曳Drag与Drop详细使用方法与实例
Feb 27 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根据图片色界在不同位置加水印的方法
2015/07/01 PHP
PHP实现的redis主从数据库状态检测功能示例
2017/07/20 PHP
CentOS7.0下安装PHP5.6.30服务的教程详解
2018/09/29 PHP
PHP filter_var() 函数, 验证判断EMAIL,URL等
2021/03/09 PHP
JS类库Bindows1.3中的内存释放方式分析
2007/03/08 Javascript
JavaScript中实现块作用域的方法
2010/04/01 Javascript
jQuery+jqmodal弹出窗口实现代码分明
2010/06/14 Javascript
JQuery扩展插件Validate—6 radio、checkbox、select的验证
2011/09/05 Javascript
javascript alert乱码的解决方法
2013/11/05 Javascript
jQuery实现仿Alipay支付宝首页全屏焦点图切换特效
2015/05/04 Javascript
深入浅出ES6新特性之函数默认参数和箭头函数
2016/08/01 Javascript
浅析Javascript的自动分号插入(ASI)机制
2016/09/29 Javascript
JS判断一个数是否是水仙花数
2017/06/11 Javascript
Vue axios 中提交表单数据(含上传文件)
2017/07/06 Javascript
js 发布订阅模式的实例讲解
2017/09/10 Javascript
浅谈微信JS-SDK 微信分享接口开发(介绍版)
2018/08/15 Javascript
vue-cli配置flexible过程详解
2019/07/04 Javascript
VUE解决 v-html不能触发点击事件的问题
2019/10/28 Javascript
Python对两个有序列表进行合并和排序的例子
2014/06/13 Python
python实现感知器
2017/12/19 Python
python微信公众号开发简单流程
2018/03/23 Python
python使用tornado实现简单爬虫
2018/07/28 Python
详解将Python程序(.py)转换为Windows可执行文件(.exe)
2019/07/19 Python
python使用openpyxl操作excel的方法步骤
2020/05/28 Python
使用keras内置的模型进行图片预测实例
2020/06/17 Python
python调用私有属性的方法总结
2020/07/24 Python
Python实现Canny及Hough算法代码实例解析
2020/08/06 Python
html5中如何将图片的绝对路径转换成文件对象
2018/01/11 HTML / CSS
中国专业的综合网上购物商城:京东
2016/08/02 全球购物
意大利高端时尚买手店:Stefania Mode
2018/03/01 全球购物
法国设计制造的扫帚和刷子:Andrée Jardin
2018/12/06 全球购物
简历的自荐信
2013/12/19 职场文书
IT工程师岗位职责
2014/07/04 职场文书
1000字打架检讨书
2014/11/03 职场文书
工作态度检讨书范文
2015/05/06 职场文书
青岛市的收音机研制与生产
2022/04/07 无线电