1. 程式人生 > >Python程式設計:pypdf2和pdfplumber獲取pdf檔案的頁數

Python程式設計:pypdf2和pdfplumber獲取pdf檔案的頁數

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))

就是那麼簡單,沒有過多的繁瑣操作,暫時沒有發現其他莫名問題

參考
https://github.com/jsvine/pdfplumber