如何用Python从非结构化PDF中提取指定数据?
扫描版PDF数据提取(Python)
背景与需求
- 需用Python实现扫描版PDF的数据提取,短期目标是提取指定字段值并存储,长期要实现大量同类PDF的自动化处理(数据存储方法已掌握,卡在提取环节)
- 扫描版PDF可通过Tesseract转换为文本PDF,仅需处理文档的前1-2页;文档格式大致统一,但因独立扫描存在细微差异
文档布局说明
无法提供原PDF,仅能提供布局草图(需提取的字段已用红色高亮标注):
注:草图较为粗糙,可提供更精细的模拟版本
字段特点:多数字段标题单独成行,仅底部字段例外
已尝试方案及遇到的问题
- 已尝试Azure Cognitive Services、PyPDF2等工具,核心问题如下:
- 文本拆分导致关联失效:输出文本以词组为单独行,字段标题与对应值无法对应。例如以下表格:
输出顺序为left center right One Two Three left、center、right、One、Two、Three,若One或Two为空,通过行号定位无法获取预期值 - 依赖特定PDF属性:部分方案需要PDF包含bounding boxes才能生效,但扫描转文本后的PDF不具备该属性
- 文本拆分导致关联失效:输出文本以词组为单独行,字段标题与对应值无法对应。例如以下表格:
请求
求可行的Python数据提取思路
内容的提问来源于stack exchange,提问作者Jwest
相关产品推荐
相关产品推荐

