pdfminer.pdfpage.PDFPage.get_pages() | “密码”属性错误 环境异常问题说明代码片段

问题描述

环境

  • Python:Python 3.8.5
  • pdfminer:20191125

异常

{
   "trace":[
      {
         "filename":"/project/test.py","name":"foo","lineno":49
      },{
         "filename":"/project/.local/lib/python3.8/site-packages/pdfminer/pdfpage.py","name":"get_pages","lineno":122
      },{
         "filename":"/project/.local/lib/python3.8/site-packages/pdfminer/pdfdocument.py","name":"__init__","lineno":575
      },"name":"_initialize_password","lineno":599
      },"lineno":300
      },"name":"init","lineno":307
      },"name":"init_key","lineno":320
      },"name":"authenticate","lineno":368
      },"name":"authenticate_user_password","lineno":374
      },"name":"compute_encryption_key","lineno":351
      }
   ]
}

问题说明

我正在使用 pdfminer,它是一种工具,可与 python3 一起使用以从 PDF 文档中提取信息。问题是根本没有好的文档,也没有关于如何使用该工具的源代码示例。

我已经尝试过 StackOverflow 中的一些代码,但没有奏效。下面是我的代码


代码片段

from pdfminer.layout import LAParams
from pdfminer.pdfpage import pdfpage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import pdfpageInterpreter
from pdfminer.converter import TextConverter

def foo(path,password,bankname):
    rsrcmgr = PDFResourceManager()
    retstr = io.StringIO()
    codec = 'utf-8'
    laparams = LAParams()
    device = TextConverter(rsrcmgr,retstr,laparams=laparams)
    fp = open(path,'rb')
    interpreter = pdfpageInterpreter(rsrcmgr,device)
    maxpages = 2
    caching = True
    pagenos = set()
    for page in pdfpage.get_pages(fp,pagenos,maxpages=maxpages,password=password,caching=caching,check_extractable=False):  # This is Line 49
        interpreter.process_page(page)
    text = retstr.getvalue()

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)