Я испытываю странное поведение с pdfminer.six.Я пытаюсь разобрать абзацы из договорных документов.Во многих документах все работает нормально, но в некоторых других это происходит: я использую lt_obj.get_text (), чтобы извлечь текст абзаца и получить каждую строку удвоенной или утроенной.
Пример (анонимный): Пример PDF
И что я получаю из печати (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