成人AV在线无码|婷婷五月激情色,|伊人加勒比二三四区|国产一区激情都市|亚洲AV无码电影|日av韩av无码|天堂在线亚洲Av|无码一区二区影院|成人无码毛片AV|超碰在线看中文字幕

如何利用Python操作pdf文件?具體該如何讀寫?

網(wǎng)友解答: 這里簡單介紹一下吧,讀取pdf文件的話,可以使用pdfminer3k這個(gè)庫,寫入pdf文件的話,可以使用reportlab這個(gè)庫,下面我簡單介紹一下這2個(gè)庫是如何讀寫pdf文

網(wǎng)友解答:

這里簡單介紹一下吧,讀取pdf文件的話,可以使用pdfminer3k這個(gè)庫,寫入pdf文件的話,可以使用reportlab這個(gè)庫,下面我簡單介紹一下這2個(gè)庫是如何讀寫pdf文件的,實(shí)驗(yàn)環(huán)境win10+python3.6+pycharm5.0,主要內(nèi)容如下:

讀取pdf文件

這里主要用到pdfminer3k這個(gè)庫,專門用來解析pdf文件,中英文都可以,下面我簡單介紹一下這個(gè)庫的安裝和使用:

1.安裝pdfminer3k,這個(gè)直接在cmd窗口輸入命令“pip install pdfminer3k”就行,如下:

2.這里為了更好的說明問題,我新建了一個(gè)pdf文檔,測試內(nèi)容如下,一段中文字符串:

3.最后,就是編寫相關(guān)代碼來解析pdf文件了,基本思路是先創(chuàng)建pdf解析器,然后一頁一頁解析文本字符串,然后提取打印出來就行,主要代碼如下:

點(diǎn)擊運(yùn)行這個(gè)程序,就能解析出pdf文件的內(nèi)容,如下:

寫入pdf文件

這里可以使用reportlab這個(gè)庫,專門用來生成最終的pdf文件(不支持中文),下面我簡單介紹一下這個(gè)庫的安裝和使用:

1.安裝reportlab,這個(gè)與上面的安裝命令類似,直接在cmd窗口輸入命令“pip install reportlab”就行,如下:

2.安裝成功后,我們就可以寫入pdf文件了,測試代碼如下,很簡單:

運(yùn)行這個(gè)程序,就會(huì)在當(dāng)前目錄下生成一個(gè)pdf文件,打開后的內(nèi)容如下,就是剛才程序?qū)懭氲膬?nèi)容:

至此,我們就完成了利用python來讀寫pdf文件。總的來說,整個(gè)過程很簡單,pdfminer3k和reportlab這2個(gè)庫可以快速完成對(duì)pdf文件的讀寫,只要你有一定的python基礎(chǔ),熟悉一下相關(guān)示例和代碼,很快就能掌握的,唯一不足的就是不能寫入中文,pdf會(huì)出現(xiàn)亂碼情況,當(dāng)然,你也可以使用pypdf2這個(gè)庫(也不支持中文)讀寫pdf文件,都行,網(wǎng)上也有相關(guān)教程,感興趣的話,可以搜一下,希望以上分享的內(nèi)容能對(duì)你有所幫助吧,也歡迎大家評(píng)論、留言。

網(wǎng)友解答:

首先,需要安裝插件:pypdf

output = PdfFileWriter()

#讀取pdf文件

input1 = PdfFileReader(file('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rb'))

output.addPage(input1.getPage(0))

outputStrem = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rw')

#寫入結(jié)果pdf文件

output.write(outputStrem)

outputStrem.close()

#操作普通文件類型

#filename,文件路徑、名稱,如果有,注意轉(zhuǎn)義或者開頭加r,mode讀取的模式,r讀取,w寫入,,

f = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.xml', 'r')

#獲取內(nèi)容并儲(chǔ)存在變量里

read = f.read()

print(read)

#關(guān)閉文件,節(jié)省內(nèi)存

f.close()

#讀取pdf文件寫入新的pdf文件

by = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test.pdf', 'rb')

by.seek(0, 0)

outputStrem = open('/home/zilu/workspace/liuy/project/caifujutou/static/xml/test2.pdf', 'w')

outputStrem.write(by.read())

標(biāo)簽: