Python合并同一個(gè)文件夾下所有PDF文件的方法
一、需求說明
下載了網(wǎng)易云課堂的吳恩達(dá)免費(fèi)的深度學(xué)習(xí)的pdf文檔,但是每一節(jié)是一個(gè)pdf,我把這些PDF文檔放在一個(gè)文件夾下,希望合并成一個(gè)PDF文件。于是寫了一個(gè)python程序,很好的解決了這個(gè)問題。
二、數(shù)據(jù)形式

三、合并效果

四、python代碼實(shí)現(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文件
######################獲取同一個(gè)文件夾下的所有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
##########################合并同一個(gè)文件夾下所有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'總共耗時(shí):' + str(time2 - time1) + 's'
"D:\Program Files\Python27\python.exe" D:/PycharmProjects/learn2017/合并多個(gè)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 總共耗時(shí):0.128000020981s Process finished with exit code 0
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Python2升級/安裝pip報(bào)錯(cuò)問題及解決
這篇文章主要介紹了Python2升級/安裝pip報(bào)錯(cuò)問題及解決方案,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-03-03
Python獲取當(dāng)前腳本文件夾(Script)的絕對路徑方法代碼
在本篇文章中小編給各位整理了關(guān)于Python獲取當(dāng)前腳本文件夾(Script)的絕對路徑實(shí)例代碼內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-08-08
pytest生成Allure報(bào)告以及查看報(bào)告的實(shí)現(xiàn)
本文主要介紹了pytest生成Allure報(bào)告以及查看報(bào)告的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02

