最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

幾個(gè)關(guān)于python  Pdf 技巧的分享

 更新時(shí)間:2022年02月23日 10:43:58   作者:zzxiaoma  
這篇文章主要介紹了python使用技巧Pdf的詳細(xì)內(nèi)容,PyPDF2是一個(gè)純Python的開(kāi)源庫(kù),能夠分割或合并PDF文件,也可以裁剪或轉(zhuǎn)換PDF文件中的頁(yè)面,下面關(guān)于文章主題內(nèi)容將詳細(xì)介紹,需要的小伙伴可以參考一下

前言:

PyPDF2是一個(gè)純Python的開(kāi)源庫(kù),能夠分割或合并PDF文件,也可以裁剪或轉(zhuǎn)換PDF文件中的頁(yè)面。我們還可以使用PyPDF2查看PDF文件的元信息,對(duì)PDF文件進(jìn)行加密等。

PyPDF2是一個(gè)開(kāi)源的庫(kù),因此在使用之前需要先安裝。

pip install PyPDF2

1.讀取PDF

import PyPDF2

reader = PyPDF2.PdfFileReader(open('a.pdf','rb'))
print(reader.getNumPages())

print(reader.getIsEncrypted())
print(reader.getDocumentInfo())
page = reader.getPage(8)
print(page.extractText())

首先導(dǎo)入PyPDF2模塊,然后以二進(jìn)制讀模式打開(kāi)a.pdf文件,并將它傳遞給PdfFileReader類的初始化函數(shù)。PdfFileReader的初始化函數(shù)會(huì)返回一個(gè)PdfFileReader類的對(duì)象,我們可以使用這個(gè)對(duì)象來(lái)獲取PDF文件的信息。

通過(guò)getNumPages函數(shù)獲取pdf的總頁(yè)數(shù),通過(guò)getIsEncrypted函數(shù)獲取文件是否加密,通過(guò)getDocumentInfo函數(shù)獲取文件的元數(shù)據(jù),通過(guò)傳遞下標(biāo)給getPage函數(shù)的方式獲取PDF頁(yè)面,下標(biāo)從0開(kāi)始,與Python內(nèi)置的字符串、列表和元組等保持一致。通過(guò)PageObject類的extractText方法提取頁(yè)面中的文本。從該方法的返回結(jié)果來(lái)看,提取PDF文本的效果并不理想。

2.刪除pdf的某些頁(yè)

思路:PyPDF2并不能直接編輯PDF文件,但是我們可以利用PyPDF2從一個(gè)PDF文檔拷貝需要的頁(yè)面到另一個(gè)PDF文檔,通過(guò)這種迂回的方式實(shí)現(xiàn)編輯PDF的功能。例如刪掉a.pdf中的第一頁(yè)

import PyPDF2

reader = PyPDF2.PdfFileReader(open('a.pdf','rb'))
output = PyPDF2.PdfFileWriter()
for i in range(1,reader.getNumPages()):
? ? output.addPage(reader.getPage(i))
outputStream = open ("b.pdf","wb")
output.write(outputStream)
outputStream.close()

3.旋轉(zhuǎn)頁(yè)面

PageObject類中有部分方法可以修改PDF頁(yè)面,其中rotateClockwiserotateCounterClockwise方法用來(lái)旋轉(zhuǎn)頁(yè)面。這兩個(gè)方法只接受一個(gè)參數(shù),且參數(shù)取值必須是90的倍數(shù),表示旋轉(zhuǎn)多少度。

import PyPDF2

reader = PyPDF2.PdfFileReader(open('a.pdf','rb'))
output = PyPDF2.PdfFileWriter()
page = reader.getPage(0)
page.rotateClockwise(180)
output.addPage(page)
outputStream = open ("b.pdf","wb")
output.write(outputStream)
outputStream.close()

4.合并pdf

from PyPDF2 import PdfFileMerger

merger = PdfFileMerger()

a = open("a.pdf",'rb')
b = open("b.pdf",'rb')
c = open("c.pdf",'rb')

merger.append(fileobj = a,pages = (0,3))
merger.merge(position=2,fileobj=b,pages=(0,1))
merger.append(c)
output = open("d.pdf","wb")
merger.write(output)

append方法通過(guò)fileobj參數(shù)確定要添加的PDF文件,通過(guò)pages參數(shù)指定要將哪些PDF頁(yè)面添加到新的PDF文件中,并將要添加的頁(yè)面添加到merger對(duì)象的末尾。merge方法相對(duì)于append方法,增加了position參數(shù),我們可以通過(guò)position參數(shù)指定頁(yè)面插人的位置。append方法和merge方法的pages參數(shù)非常靈活,該參數(shù)是一個(gè)三元組(start,stop[,step]),分別表示起點(diǎn)、終點(diǎn)和步長(zhǎng)。我們可以通過(guò)該參數(shù)指定合并PDF文件中的頁(yè)面。

到此這篇關(guān)于python使用技巧Pdf的詳細(xì)內(nèi)容介紹的文章就介紹到這了,更多相關(guān)python使用技巧Pdf介紹內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

肥东县| 宁国市| 石柱| 宁都县| 瑞丽市| 铅山县| 襄垣县| 兴城市| 襄城县| 敦煌市| 托克逊县| 关岭| 乌兰察布市| 朝阳区| 微山县| 越西县| 古丈县| 靖边县| 宜川县| 杂多县| 新乐市| 呼伦贝尔市| 桂阳县| 湖南省| 宁陵县| 清流县| 忻州市| 新竹市| 桐梓县| 公安县| 宝应县| 息烽县| 古交市| 丹棱县| 依兰县| 温宿县| 衡水市| 三原县| 隆尧县| 通化县| 舒兰市|