Python 3. Calcular el número de páginas en todos los documentos pdf de un directorio y subdirectorios

El código propuesto es el siguiente:

import pandas as pd
import os
from PyPDF2 import PdfFileReader

df = pd.DataFrame(columns=('fileName', 'fileLocation', 'pageNumber'))

dir_1= r'C:/CarpetaConPdfs/'

for root, dirs, files in os.walk(dir_1):
    for f in files:
        if f.endswith(".pdf"):
            pdf=PdfFileReader(open(os.path.join(root, f),'rb'))
            df2 = pd.DataFrame(((f, os.path.join(root,f), pdf.getNumPages())), columns=('fileName', 'fileLocation', 'pageNumber'))
            df = df.append(df2, ignore_index=True)
print(df.head)
print("Total de páginas en pdf: ", df('pageNumber').sum())

Pero, con algunas pruebas realizadas, se genera el siguiente error:

  • in getNumPages raise utils.PdfReadError(“File has not been
    decrypted”) PyPDF2.utils.PdfReadError: File has not been decrypted

¿Alguien puede ayudarme a solucionar este error, en el código propuesto?