做pdf文件解析
python的pdf解析工具pdfminer有点问题,基本思路是读出文本块,然后比较相邻的文本块obj0,obj1
# halign: obj0 and obj1 is horizontally aligned.
#
# +------+ - - -
# | obj0 | - - +------+ -
# | | | obj1 | | (line_overlap)
# +------+ - - | | -
# - - - +------+
#
# |<--->|
# (char_margin)
就是两个文本块,如果间隔小于line_overlap/char_margin,就会组成一个大的文本块
但是有个问题,就是他的obj排序经常无法保证两个位置上属于同一个大的文本块的文本在相邻位置,所以我改进了一下算法
先对objs 的y值(因为要解析的文本都是水平的)进行归并,两个obj的y值距离<line_overlap就算一行,然后按照x值排序,这样基本上能保证水平文本解析正常
现在的问题就是怎么比较快的对y值进行归并,总结一下问题
有一个数组y1,y2,...yn,合并成k组,使得每组里,任何两个值的距离小于一个给定值
--
FROM 27.19.16.*