错误:无法从“ pdfminer.pdfparser”导入名称“ PDFDocument”

时间:2019-05-07 13:24:52

标签: python-3.x pdfminer

我需要从pdf文件中提取文本,并成功使用pdfminer.six,同时提取文本段落和表格。但是现在我得到了与该行有关的错误

from pdfminer.pdfparser import PDFParser, PDFDocument: 

ImportError:无法从'pdfminer.pdfparser'导入名称'PDFDocument'(C:\ Users [用户名] \ Anaconda3 \ lib \ site-packages \ pdfminer \ pdfparser.py)

我正在使用Anaconda Jupyter。 Python 3.7.3。软件包pdfminer.six-20181108

我正在使用的代码基于以下内容: How to read pdf file using pdfminer3k?

根据下面给出的建议,我多次尝试卸载并重新安装Anaconda和pdfminer.six及其他软件包: https://github.com/pdfminer/pdfminer.six/issues/196 一周前它突然工作了,但是现在我又遇到了错误。

由于我正在使用Win10,因此我也尝试使用Linux Ubuntu,如此处所述: https://medium.com/hugo-ferreiras-blog/using-windows-subsystem-for-linux-for-data-science-9a8e68d7610c

相同错误。

然后,根据下面的网页,我认为值得尝试拆分PDFparser和PDFDocument: 来自

from pdfminer.pdfparser import PDFParser, PDFDocument

from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage

https://loctv.wordpress.com/2017/02/07/fix-importerror-cannot-import-name-pdfdocument-when-using-slate/ .. 但这随后在代码中创建了新的错误。

我的代码的开始看起来像这样:

```
path = [name and path of file]
fp = open(path, 'rb')
from pdfminer.pdfparser import PDFParser, PDFDocument
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator
from pdfminer.layout import LAParams, LTTextBox, LTTextLine
```

我希望能够运行该代码并从pdf文件中提取文本,但是由于与PDFDocument pdfminer.pdfparser相关的错误而使代码停止运行

任何关于我应该做什么的建议都非常感谢!可能与pdfminer.six的安装方式有关吗?

2 个答案:

答案 0 :(得分:0)

我从Notodden Serit获得了帮助。更改此:

from pdfminer.pdfparser import PDFParser, PDFDocument

收件人:

from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage

并在其中添加解析器

doc = PDFDocument()

收件人:

doc = PDFDocument(parser)

然后:

for page in doc.get_pages():

收件人:

for page in PDFPage.create_pages(doc):

答案 1 :(得分:0)

According to the pdfminer documentation

from pdfminer.pdfdocument import PDFDocument`