python - 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
解决方案
推荐阅读
- python - 如何测试使用 TimeSeriesSplit 训练的交叉验证的 sklearn.linear_model
- python - 如何将阵列从 9 列重塑为 3 列?
- php - php 页面上的 ASP Cookie
- javascript - 使用 Object.entries 时保留类型
- python - 创建一个可以作为设置读取和操作的文件
- javascript - 成功的 AJAX 响应函数输出为空
- python - 代码在 python 3.8 中不运行多处理函数
- python - 当我导入一个从另一个文件返回 2 个变量的函数时,我的一个 pygame 屏幕正在运行 2 次
- python - 如何将 .ps 文件转换为 .png 文件?
- ruby-on-rails - 带有原始和翻译 i18n 标记的 rails link_to