Python合并同一個文件夾下所有PDF文件的方法
更新時間:2019年03月11日 10:34:27 作者:開心果汁
今天小編就為大家分享一篇關(guān)于Python合并同一個文件夾下所有PDF文件的方法,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
一、需求說明
下載了網(wǎng)易云課堂的吳恩達免費的深度學習的pdf文檔,但是每一節(jié)是一個pdf,我把這些PDF文檔放在一個文件夾下,希望合并成一個PDF文件。于是寫了一個python程序,很好的解決了這個問題。
二、數(shù)據(jù)形式

三、合并效果

四、python代碼實現(xiàn)
# -*- 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函數(shù),搜索出某目錄下的全部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文件已經(jīng)加密,必須首先解密才能使用pyPdf
if input.isEncrypted == True:
input.decrypt("map")
# 獲得源pdf文件中頁面總數(shù)
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
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Python獲取當前腳本文件夾(Script)的絕對路徑方法代碼
在本篇文章中小編給各位整理了關(guān)于Python獲取當前腳本文件夾(Script)的絕對路徑實例代碼內(nèi)容,有需要的朋友們學習下。2019-08-08
pytest生成Allure報告以及查看報告的實現(xiàn)
本文主要介紹了pytest生成Allure報告以及查看報告的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2023-02-02

