一、需求说明

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

二、数据形式

三、合并效果

四、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实现截取PDF文件中的几页代码实例

Python使用reportlab模块生成PDF格式的文档

Python3转换html到pdf的不同解决方案

Python多图片合并PDF的方法

Linux下升级python和安装pip的详解

Python高级特性与几种函数的讲解

Python I/O与进程的详细讲解

举例讲解Python常用模块

Python一个简单的通信程序(客户端 服务器)

用Python写一个模拟qq聊天小程序的代码实例

图解python pdf_Python合并同一个文件夹下所有PDF文件的方法相关推荐

  1. python合并文件夹下的文件_Python实现合并同一个文件夹下所有PDF文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有PDF文件的方法.分享给大家供大家参考,具体如下: 一.需求说明 下载了网易云课堂的吴恩达免费的深度学习的pdf文档,但是每一节是一个pdf,我把这 ...

  2. 将文件夹下的pdf文件合并

    该方法是将文件夹下的pdf文件合并,同时将多余的文件删除掉,$path参数为文件夹路径 环境为linux centos系统 public function mergePdf($path){$outpu ...

  3. python读取多个文件夹下所有txt_Python实现合并同一个文件夹下所有txt文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- ...

  4. python合并文件夹下的文件_Python实现合并同一个文件夹下所有txt文件的方法示例...

    本文实例讲述了Python实现合并同一个文件夹下所有txt文件的方法.分享给大家供大家参考,具体如下: 一.需求分析 合并一个文件夹下所有txt文件 二.合并效果 三.python实现代码 # -*- ...

  5. 手把手教你用Python批量实现文件夹下所有Excel文件的第二张表合并

    点击上方"Python爬虫与数据挖掘",进行关注 回复"书籍"即可获赠Python从入门到进阶共10本电子书 今 日 鸡 汤 怀君属秋夜,散步咏凉天. 大家好, ...

  6. python 目录下的文件_用python把文件夹下的所有文件包括文件夹里面的文件都拷贝到同一个目录下...

    比如1文件夹下有2文件夹,2文件夹下有1.txt文件和3文件夹,3文件夹下有2.txt3.txt现在要把1.txt2.txt3.txt全都拷贝到1文件夹下importosimportshutildef ...

  7. java怎样输出一个文件夹,java合并一个文件夹下所有txt文件,输出到另一个txt,...

    java合并一个文件夹下所有txt文件,输出到另一个txt,最近写了个单元测试,递归调用方法,把同一个文件夹里所有的txt合并输出到一个txt文件.参考了两个博客,分别是已有的方法,还有个就是检测tx ...

  8. pandas合并文件夹下的excel文件

    研究背景: 由于工作中每天需要计算遗留工单,但工单创建的时间不确定,需要导出近半年的数据进行筛选,而系统一次只能到处一个月的数据,格式为excel格式文件,文件大学为10MB左右,每个文件数据量2万行 ...

  9. python遍历指定文件夹的所有文件_python 统计指定文件夹下所有的文件数量,BFS方式...

    python 统计指定文件夹下所有的文件数量 本来一直是有这个需求,只是以前写的是递归的方式处理,感觉对资源的占用不友好,而且python的最大递归深度不超过1000,所以改了一下,这里用广度优先遍历 ...

最新文章

  1. 拦截器和过滤器之间有很多相同之处,但是两者之间存在根本的差别
  2. 多伦多计算机科学大学,加拿大计算机科学专业 - 加拿大多伦多大学的计算机专业...
  3. 开发者基础知识游戏,共10关,欢迎挑战
  4. 矩阵论及其应用_群表示论笔记(一)
  5. ssas 维度属性_Analysis Services(SSAS)多维数据集–维度属性和层次结构
  6. codewars--js--Happy numbers++无穷大判断
  7. 设置,获取和删除Cookies
  8. python爬虫问题:error: command 'gcc' failed with exit status 1
  9. [JavaScript语法学习]重新认识JavaScript
  10. 实现网络IPv6平滑演进的DS-Lite CGN技术
  11. imagej得到灰度图数据_北大博士教你如何从图像中获得可用的灰度数据
  12. 烟雾检测模块ADPD188BI介绍与应用(一)
  13. 《玩透嵌入式C的角角落落》深入分析sprintf和printf函数
  14. 操作系统--03内存管理
  15. Qt中的C++技术 张波
  16. 关于运行Unity(一些游戏)出现0xc000007b的问题
  17. web表格控件FineReport作为企业web表格制作软件的核心优势
  18. 【数学建模】基于matlab武汉地铁2号线路线地图动态模拟【含Matlab源码 1092期】
  19. 基于easyTrader部署自动化交易(一)
  20. Outlook使用RTF格式发信出现Winmail.dat附件事宜

热门文章

  1. 前9个免费的Java流程监视工具以及如何选择一种
  2. Java反射,但速度更快
  3. spring shell_Spring Shell项目发布
  4. 基于javafx的五子棋_基于JavaFX的SimpleDateFormat演示程序
  5. 基于Spring Boot的WebSocket应用程序并捕获HTTP会话ID
  6. Java 8 Friday:更多功能关系转换
  7. Java 8类型注释
  8. OutOfMemoryError:解决方案反模式
  9. 在Spring MVC中使用多个属性文件
  10. Spring 4中@ControllerAdvice的改进