pdf解析

一叶飞舟
Java领域新星创作者
博客专家认证
2016-08-30 03:48:08
最近有一个需求,要把新三板挂牌公司年报(pdf文件)的各种表格数据解析出来。

但是问题来了,怎么能准确找到某列对应的某值(因为,表格中的列名顺序不固定,名称也会有差异)。

各位大神,有谁做过这方面的研究,欢迎讨论讨论,有什么先进的处理技巧、方法、代码欢迎贴上,不甚感激!
...全文
361 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
一叶飞舟 2016-09-01
  • 打赏
  • 举报
回复
jack_qdb 2016-08-31
  • 打赏
  • 举报
回复
一般使用开源的iText库来创建PDF文档,不过这个库也提供了解析已有pdf文档的API,本人没有用过,你可以参阅下官网http://itextpdf.com/ pdf的表格格式大小位置都不变的话,可以考虑用位置来获取值 pdfbox有个demo是按位置提取text, 另外还有一个demo帮助你找到每个字符的位置 但如果pdf是扫描的,那得找ocr控件获取text pdf中也有个acroForm的东西,但至今没有遇到过pdf含有此单元,所以没做过,楼主也可以试着在document中找找有没有这个元素,如果有可能更简单 如果楼主想先看一下pdf的结构,pdfbox有app版,之中有个debbuger可以查看pdf结构 对于一些画上去的checkbox之类,我找到的办法是将pdf转为image然后判断特定位置上pixel值判定checkbox有没有被选中 但由于pdfbox中toImage单元还处于beta阶段,不太稳定,有时候一些font的问题会导致程序崩溃,建议在转image之前清除所有文字
能源恒观 2016-08-31
  • 打赏
  • 举报
回复
帮忙顶一下,同样关注,大神出来解答一下
一叶飞舟 2016-08-31
  • 打赏
  • 举报
回复
一叶飞舟 2016-08-31
  • 打赏
  • 举报
回复
一叶飞舟 2016-08-31
  • 打赏
  • 举报
回复
现在需要明确几个问题: 1、针对这类财报的解析,表的名称相对而言是相同的; 2、表格中的每个标题会有差异,包括前后顺序、个数; 3、表格在pdf的位置是不固定的; 通过位置获取,是否需要提供一个表名称,这样从这个位置开始,读表格内容? 但是问题来了,pdfbox或itext解析表格的时候,并不会按照表格的排版输出content,所以会造成行标题混乱,数据混乱,无法彼此对应,这个问题如何处理?
一叶飞舟 2016-08-30
  • 打赏
  • 举报
回复
一叶飞舟 2016-08-30
  • 打赏
  • 举报
回复

81,122

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧