首页 > 解决方案 > Python pdfminer.six 将 lt_obj.get_text() 中的每一行加倍或加倍

问题描述

我在使用 pdfminer.six 时遇到了奇怪的行为。我正在尝试解析合同文件中的段落。在许多文档中,一切正常,但在其他一些文档中,会发生这种情况:我使用 lt_obj.get_text() 来提取段落的文本并将每一行加倍或加倍。

示例(匿名): PDF 示例

我从 print(lt_obj.get_text()) 得到的是:

"Line1 Content
Line1 Content
Line2 Content
Line2 Content
Line3 Content
Line3 Content
Line4 Content
Line4 Content
Line5 Content
Line5 Content"

我认为这与递归获取包含文本的 lt_objects 有关,但正如您在我的代码中看到的那样,我将其关闭并仍然得到这些结果。但是,这不会发生在我的所有文档中,只是有时会发生。但如果发生这种情况,它会发生在整个文档及其所有段落中。

我的代码:

def parse_layout(layout, page_counter, doc):
        for lt_obj in layout:
        if isinstance(lt_obj, LTTextBox) or isinstance(lt_obj, LTTextLine):
            text = lt_obj.get_text()
            print(text)
        elif isinstance(lt_obj, LTFigure):
            pass
            #parse_layout(lt_obj, page_counter, doc)  # Recursive

标签: pythonpdfminer

解决方案


推荐阅读