Python處理PDF和Word文檔的模塊是PyPDF2,使用之前需要先導入。
打開一個PDF文檔的操作順序是:用open()函數打開文件並用一個變量來接收,然后把變量給傳遞給PdfFileReader對象,形成一個PdfFileReader對象,這樣用PdfFileReader對象下面的各種方法、屬性去操作PDF文檔。
PdfFileReader對象常用方法:
(1)、PyPDF2.PdfFileReader()方法:代表一個PdfFileReader對象。
(2)、getPage() 方法:獲取FDF文檔頁數;
(3)、extractText()方法:獲取當前PDF文檔當前頁面的文本內容。
(4)、decrypt()方法:用來給加密的PDF文檔接收密碼(解密);
(5)、rotateClockwise()和 rotateCounterClockwise()方法:可以將文檔旋轉90/180/270度;
(6)、mergePage()方法:用來疊加PDF文檔頁面(類似加水印);
PdfFileReader對象常用屬性:
(1)、pdfReader.numPages 屬性:獲取當前文檔對象總頁數。
(2)、 isEncrypted 屬性:用於判斷PDF文檔是否是加密的,如果是加密的,返回True,否則返回False.
(3)、
例如:
>>> import PyPDF2
>>> pdfFileObj = open('meetingminutes.pdf', 'rb')
>>> pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
>>> pdfReader.numPages
19
>>> pageObj = pdfReader.getPage(0)
>>> pageObj.extractText()
PdfFileWriter 對象
操作順序:
1.打開一個或多個已有的 PDF(源 PDF) ,得到 PdfFileReader 對象。
2.創建一個新的 PdfFileWriter 對象。
3.將頁面從 PdfFileReader 對象拷貝到 PdfFileWriter 對象中。
4.最后,利用 PdfFileWriter 對象寫入輸出的 PDF。
PdfFileWriter 對象常用方法:
addPage()方法:將源PDF文檔頁面添加到新的PDF文檔里面(復制)。
write()方法:將PdfFileWriter 對象保存的信息寫入到變量(文件)中。
encrypt() 方法:用來給文檔加密,在文件寫入前使用此方法,可以給文檔進行加密。
例如:
import PyPDF2
minutesFile=open('meetingminutes.pdf','rb')
pdfReader=PyPDF2.PdfFileReader(minutesFile)
page=pdfReader.getPage(0)
print(page.rotateClockwise(90))
pdfWriter=PyPDF2.PdfFileWriter() ###創建一個PdfFileWriter()對象;
pdfWriter.addPage(page) ##把復制的源PDF的page頁面添加到新的PdfFileWriter() 對象中;
pdfoutFile=open('rotatedPage.pdf','wb') ###打開一個名為“rotatedPage.pdf”的文檔(沒有則新建),然后用一個pdfoutFile變量來接收它。
pdfWriter.write(pdfoutFile) ####用PdfFileWriter()對象的write方法寫入到變量中;
pdfoutFile.close()
minutesFile.close()
