我需要从此文件中从类似格式的表中提取数据。有一些 OCR 错误,但我有一个自动化的方法来纠正它们。
我努力了:
- ABBYY Finereader 表格检测。
- 表格提取
- Camelot 表提取
- 自定义python代码
问题:广告工具在检测桌子边缘方面非常糟糕。这些表格遵循类似的一般格式,但每次扫描的对齐方式略有不同,因此硬编码寄宿生也不起作用。
问题:你们知道检测表格从哪里开始然后应用几个模板之一的好方法吗?
非常感谢此类工作的任何其他提示。
更新 2/26: 我解决了我自己的问题,但可以随时用快速或更好的解决方案做出回应。
主要问题之一是表格的尺寸大致相似,但它们因页面而异。扫描的图像在页面之间也略有偏移,导致两个对齐问题。我目前的工作流程解决了这两个问题,如下所示。
解决方案:
相同表格类型的图像仍未对齐,因此在 (x,y) 坐标中指定表格布局将不起作用。每个图像中的表格位置都不同。
我需要根据桌子位置对齐图像,但在没有检测到桌子的情况下,没有好的方法可以做到这一点。
我以一种有趣的方式解决了这个问题,但我首先尝试了以下步骤。
解决方案:
在将图像切割成表格类型对齐部分中说明的表格后,使用 Photoshop 中的自动对齐图层功能来对齐图像。
分步解决方案:
完毕!随意组合每个表的文件。当我完成项目时,我将发布我的 python 代码来执行此操作。清理后,我也会发布数据。
这里有一个免费的在线工具https://www.pdftron.com/pdf-tools/pdf-table-extraction/
相关博客https://www.pdftron.com/blog/parsing-extraction/table-extraction-and-pdf-to-xml-with-pdfgenie/参考 PDFGenie 命令行工具
您可以尝试使用 table_regions 参数来指定表格可能所在的区域,而不是 Camelot table_areas 参数(它指定固定边界)(Camelot 只会分析指定区域以查找表格)。
https://camelot-py.readthedocs.io/en/master/user/advanced.html#specify-table-regions
请随时更新。