推荐一款Apache开源的文档内容解析工具

shigen坚持更新文章的博客写手,擅长Java、python、vue、shell等编程语言和各种应用程序、脚本的开发。记录成长,分享认知,留住感动。

hello,伙伴们,在闲暇的时候逛了一下掘金,发现了这样的一篇文章:spring boot+apache tika实现文档内容解析,对里边提到的tika很感兴趣,感兴趣的原因之一就是当时在研究文档识别和文本识别的时候,找了很多的工具类:

其中,用到的处理word的工具是aspose,巧了,还要收费。相信用过的都知道怎么找license实现白嫖。总之呢,用起来还行,就是有风险。而且,对于各种文档,就需要找到对应的文档处理工具类,需要的依赖很多。

毕竟是Apache开源的东西,肯定很好用,于是继续研究了一下。发现宣传的有这些的特色:

摘自Apache tika官方文档

getting start 页面也列举了命令行工具的使用,其他的jar包和maven项目的结合,已有的文章已经很详细了:

当然,结合魔法,我相信我们获取相关技术的速度会得到很大程度上的提升。


接下来我讲一下让我觉得惊奇的jar命令行工具吧:

这里,我们只需要下载对应的jar包即可。当然,shigen也为大家提供了对应的镜像下载地址

下载完毕之后,直接java -jar启动即可:

 java -jar tika-app-2.9.1.jar

这里解析各种文件都是可以的:

直接将文件拖拽到程序界面即可。

读取Excel

这里可以快速的读取Excel的内容并展示出来。支持六种格式,如常用的json格式。

读取ppt

当然,这里的PPT图片是不能正常显示的。

读取pdf

这里都是PDF的文字版本。

剩下的文件格式大家自行研究吧,分享点我觉得比较炸裂的功能。

读取图片

这是shigen之前在文章一个脚本,实现随机数据生成自由的代码,我们用tika打开会怎么样。

发现直接可以把图片中的文本识别出来。这里我们并没有安装任何的AI识别库或者模型,在10s内直接识别出来了,真的是相当的智能。

所以,tika可以成为我们命令行中的又一个相当好用的工具了。

大招

貌似文章在这里就应该结束了,但是不觉得很奇怪吗,命令行就是为了启动GUI界面吗,事实并不是。

r 复制代码
 java -jar tika-app-2.9.1.jar fake-util.png -T

我们可以直接在命令行打开文件并规定格式,参考官方文档和.jar文件的帮助文档。

那最后的结果和直接GUI操作一样的,我们的代码也是可以直接粘贴出来或者输出导入到一个文件直接运行的(当然,括号之类的特殊字符还要改一些的)。


以上就是今天分享的全部内容了,觉得不错的话,记得点赞 在看 关注支持一下哈,您的鼓励和支持将是shigen坚持日更的动力。同时,shigen在多个平台都有文章的同步,也可以同步的浏览和订阅:

平台 账号 链接
CSDN shigen01 shigen的CSDN主页
知乎 gen-2019 shigen的知乎主页
掘金 shigen01 shigen的掘金主页
腾讯云开发者社区 shigen shigen的腾讯云开发者社区主页
微信公众平台 shigen 公众号名:shigen

shigen一起,每天不一样!

相关推荐
程序猿麦小七19 分钟前
基于springboot的景区网页设计与实现
java·spring boot·后端·旅游·景区
蓝田~27 分钟前
SpringBoot-自定义注解,拦截器
java·spring boot·后端
theLuckyLong28 分钟前
SpringBoot后端解决跨域问题
spring boot·后端·python
.生产的驴30 分钟前
SpringCloud Gateway网关路由配置 接口统一 登录验证 权限校验 路由属性
java·spring boot·后端·spring·spring cloud·gateway·rabbitmq
小扳33 分钟前
Docker 篇-Docker 详细安装、了解和使用 Docker 核心功能(数据卷、自定义镜像 Dockerfile、网络)
运维·spring boot·后端·mysql·spring cloud·docker·容器
v'sir43 分钟前
POI word转pdf乱码问题处理
java·spring boot·后端·pdf·word
李少兄1 小时前
解决Spring Boot整合Redis时的连接问题
spring boot·redis·后端
码上一元6 小时前
SpringBoot自动装配原理解析
java·spring boot·后端
枫叶_v8 小时前
【SpringBoot】22 Txt、Csv文件的读取和写入
java·spring boot·后端
杜杜的man8 小时前
【go从零单排】Closing Channels通道关闭、Range over Channels
开发语言·后端·golang