首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误:无法从'pdfminer.pdfparser‘导入名称'PDFDocument’

错误:无法从'pdfminer.pdfparser‘导入名称'PDFDocument’
EN

Stack Overflow用户
提问于 2019-05-07 21:24:52
回答 2查看 9.1K关注 0票数 6

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

代码语言:javascript
复制
from pdfminer.pdfparser import PDFParser, PDFDocument: 

ImportError:无法从'PDFDocument‘(C:\Usersusername\Anaconda3\lib\site-packages\pdfminer\pdfparser.py)导入名称'pdfminer.pdfparser’

我用的是巨蟒朱庇特。Python 3.7.3。软件包pdfmin.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:

代码语言:javascript
复制
from pdfminer.pdfparser import PDFParser, PDFDocument

代码语言:javascript
复制
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/ ..但这在以后的代码中产生了新的错误。

我的代码开头如下所示:

代码语言:javascript
复制

path =文件的名称和路径

fp =open(路径,'rb')

从pdfminer.pdfparser导入PDFParser,PDFDocument

从pdfminer.pdfinterp导入PDFResourceManager,PDFPageInterpreter

从pdfminer.converter导入PDFPageAggregator

从pdfminer.layout导入LAParams、LTTextBox、LTTextLine

代码语言:javascript
复制

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

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

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-05-14 15:24:40

我得到了Notodden Serit的帮助。更改此设置:

代码语言:javascript
复制
from pdfminer.pdfparser import PDFParser, PDFDocument

至:

代码语言:javascript
复制
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage

中添加解析器

代码语言:javascript
复制
doc = PDFDocument()

至:

代码语言:javascript
复制
doc = PDFDocument(parser)

然后:

代码语言:javascript
复制
for page in doc.get_pages():

至:

代码语言:javascript
复制
for page in PDFPage.create_pages(doc):
票数 6
EN

Stack Overflow用户

发布于 2020-11-21 15:52:46

According to the pdfminer documentation

代码语言:javascript
复制
from pdfminer.pdfdocument import PDFDocument`
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56023686

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档