首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >PDFminer,LTCurve TypeError when when

PDFminer,LTCurve TypeError when when
EN

Stack Overflow用户
提问于 2019-08-28 17:44:12
回答 1查看 431关注 0票数 0

我正在使用这个代码

代码语言:javascript
复制
from pdfminer.layout import LAParams, LTTextBox
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager
from pdfminer.pdfinterp import PDFPageInterpreter
from pdfminer.converter import PDFPageAggregator

fp = open('yourpdf.pdf', 'rb')
rsrcmgr = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(rsrcmgr, laparams=laparams)
interpreter = PDFPageInterpreter(rsrcmgr, device)
pages = PDFPage.get_pages(fp)

for page in pages:
    print('Processing next page...')
    interpreter.process_page(page)
    layout = device.get_result()
    for obj in layout:
        for lobj in obj:
           text =  lobj.get_text()
            print(' text: %s' % text))

我正在使用这个文档:http://www.unixuser.org/~euske/python/pdfminer/programming.html#layout

我不知道为什么我会得到TypeError: 'LTCurve' object is not iterable的任何想法?我想可能是因为我正在尝试获取的LTCurve和LTTextLine处于平行位置,该如何解决?谢谢!

EN

回答 1

Stack Overflow用户

发布于 2019-08-28 17:54:14

解决了!我必须使用'if isinstance(lobj,LTTextBox)‘(因为LTTextLine与LTTextBOX连接)来显示数据应该从哪里开始,然后我必须显示我需要来自LTTextLine的数据。代码:

代码语言:javascript
复制
for page in pages:
    print('Processing next page...')
    interpreter.process_page(page)
    layout = device.get_result()
    for obj in layout:
        if isinstance(obj,LTTextBox):
           for lobj in obj:
              if isinstance(lobj,LTTextLine):
                  text =  lobj.get_text()
                   print(' text: %s' % text))
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57689442

复制
相关文章

相似问题

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