java itext 里表格_Java解析PDF里的表格内容

需要从每日生成的 pdf 文件中解析出内容存入数据库,对于 Java 来说,可选择的二个常用库是 Apache pdfbox或 iText 。 这二个库解析一般的 pdf 文件获取内容方式都很简单。pdf 文件里有表格,要解析表格里的内容并不难,但是困难是无法确定解析出来的内容是归属于那一组数据 。如下图:

image.png

这个表格有10列,有若干行数据, 第一行数据里的 Description 列过长显示了三行,后面还有若干行数据,每一行数据的 Description 都有好几行,程序无法判定那几行 Description 属于那一行数据。

尝试换一个思路来解决这个问题,谷歌百度一下是否有工具可以把 pdf 文件转换成 excel 格式或 html 格式,然后再处理对应的 excel 或 html,应该能很好的解决这个问题。在找寻的过程中找到了2个非常好的工具。

tabula 这个工具是专门用来处理 pdf 里的表格,下载 windows 版本是一个 exe 或 jar 包,启动后自带一个 web 服务,但是浏览器访问网址后因为 gbk 的问题,打不开。没办法,在 centos 里启动后才可以。工具很强大,自带 web 管理页面,能图形化识别定位 pdf 文件里表格所在的位置,能解析 pdf 里的表格内容并导出各种格式,包括 excel ,可惜的是它把 Description 里三行数据也解析成 excel 里的 三个 cell,还是没办法解决我的问题。

pdf2htmlEX 这个工具

你可能感兴趣的:(java,itext,里表格)