Python程式設計:pypdf2和pdfplumber獲取pdf檔案的頁數
阿新 • • 發佈:2019-01-03
pypdf2
安裝
pip install pypdf2
程式碼例項
from PyPDF2 import PdfFileReader
filename = "test.pdf"
reader = PdfFileReader(filename)
# 不解密可能會報錯:PyPDF2.utils.PdfReadError: File has not been decrypted
if reader.isEncrypted:
reader.decrypt('')
page = reader.getNumPages()
print(page)
"""
如果加密是高版本的(3, 4),可能會報錯
NotImplementedError: only algorithm code 1 and 2 are supported
原因是:
程式碼中有版本判斷
if not (encrypt['/V'] in (1, 2)):
raise NotImplementedError("only algorithm code 1 and 2 are supported")
"""
參考:
https://github.com/mstamy2/PyPDF2/issues/51#issuecomment-437839902
pdfplumber
安裝
pip install pdfplumber
程式碼示例
import pdfplumber
filename = "test.pdf"
f = pdfplumber.open(filename)
print(len(f.pages))
就是那麼簡單,沒有過多的繁瑣操作,暫時沒有發現其他莫名問題