前面小編給大家分享過R如何提取,合并pdf文件档叔,今天在給大家分享一下如何用python來實(shí)現(xiàn)炎辨。
比如說我這里有10篇ceRNA相關(guān)的文獻(xiàn),
我想先把他們的首頁奉狈,abstract先打印出來看看停巷,然后在決定哪些文章要精讀厌杜。那么最簡(jiǎn)單的方法就是先把這10篇文獻(xiàn)的首頁提取合并到一個(gè)pdf文件中,然后打印霹崎,這樣最省事珊搀,否者我還要打開這10個(gè)pdf文件,每一個(gè)都打印一遍尾菇。
來看看如何用python代碼來實(shí)現(xiàn)
首先我們需要安裝一個(gè)處理pdf文件的python包PyPDF2境析,在你的控制臺(tái)輸入如下命令
pip install PyPDF2
然后我們開始干活
import PyPDF2, os
# import sys
#
# if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
#輸入包含所有pdf文件的文件夾
dir = "c:/ceRNA"
#改變路徑到該文件夾
os.chdir(dir)
#創(chuàng)建一個(gè)PdfFileWriter對(duì)象,后面用來保存提取的首頁
pdfWriter = PyPDF2.PdfFileWriter()
#遍歷文件夾中的每一個(gè)文件
for file in os.listdir(dir):
#如果以.pdf為后綴
if file.endswith(".pdf"):
#打開這個(gè)pdf文件派诬,以二進(jìn)制的方式讀取
pdfFileObj = open(file, 'rb')
#創(chuàng)建一個(gè)PdfFileReader對(duì)象劳淆,來讀取pdf內(nèi)容
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
#獲取首頁
pageObj = pdfReader.getPage(0)
#添加到pdfWriter中
pdfWriter.addPage(pageObj)
#新建一個(gè)pdf文件,用來保存所有的首頁千埃,以二進(jìn)制的方式來寫
pdfOutput = open('all_first_page.pdf', 'wb')
#將pdfWriter的內(nèi)容寫到文件中
pdfWriter.write(pdfOutput)
#關(guān)閉輸出文件
pdfOutput.close()
運(yùn)行完代碼憔儿,1秒鐘之后你就會(huì)在同一個(gè)文件夾看到
這個(gè)pdf文件里面就包括這10篇文獻(xiàn)的首頁
大功告成,趕緊去打印吧放可!
注意如果遇到如下報(bào)錯(cuò)信息谒臼,請(qǐng)把下面這幾行代碼前面的注釋刪掉
PdfReadWarning: Xref table not zero-indexed. ID numbers for objects will be corrected. [pdf.py:1736]
# import sys
#
# if not sys.warnoptions:
# import warnings
# warnings.simplefilter("ignore")
參考資料:R如何提取,合并pdf文件