Python解析PDF时过滤coord≤780文本追加到列表不生效问题
问题原因
你误读了enumerate()函数的返回值:raw_text列表中每个元素是[coord坐标值, 文本内容]的二元列表,但enumerate(raw_text)返回的第一个参数是列表元素的索引下标,不是你提前存储的coord坐标值。你当前的逻辑实际是保留列表前781个元素(索引从0开始到780),完全没有用到元素内存储的坐标做判断,所以过滤规则完全没生效。
修正后的过滤代码
font_pos = [] maxFontpos = 780 for item in raw_text: # 从每个元素中取出实际存储的坐标和文本 coord, word = item # 需求是coord低于780就保留,如需包含等于780的情况可改为<= if coord < maxFontpos: # 如果你需要保留[coord, word]的结构就改为append(item) font_pos.append(word)
额外注意事项
你的代码中调用了converter.close(),但全程没有定义过converter变量,运行时会抛出变量未定义的报错,直接删除该行即可。
内容的提问来源于stack exchange,提问作者id345678
相关产品推荐
相关产品推荐

