根据一楼答案@森林的建议 说说我的处理经验
我也是借助开源项目tabula,不得不说tabula的功能确实很强大。
我是用Python来处理数据,但是没有用tabula-py,因为表格跨列跨行等情况比较复杂的时候,tabula输出的数据并不能直接拿来用,就是会有错乱的情况。tabula-py只是对tabula-java的一个简易封装,实际上等同于tabula-java。简单贴个tabula适用的表格,就是很听话规则的这种:常规表格
而且,我的pdf中有部分黑色的背景块会严重干扰到正常格式的输出。所以呢,我自己写了一堆代码来恢复错乱的表格数据,效果还不错,数据可以输出到json或csv或excel。代码根据talula的输出数据特性,尽量保证了通用性最大化。文档的格式可以自定义。
看看面对复杂的表格:跨行跨列多的分不清楚~
输出结果我就直接用json来展示了,如果不太理解,就当是乱了~乱了不是我想要的吧:-)
[[["航路、航线代号、导航点名\r称、坐标", "磁航迹\r距离(千米/\r海里)", "最低\r飞行高度\r(米)", "宽度\r(千米)", "巡航高度层\r方向", "管制单位"],
["G212(实施 RNAV2 运行)", "", "", "", "", ""],
["▲ARGUK\rN47° 53.0′E134° 39.5′\r▲海青 NDB (IJ)\rN47° 52.2′E134° 38.8′\r▲P164\rN47° 38.5'E133° 42.9'\r▲P394\rN47°11.7'E131° 54.2