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

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

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

shigen当时写的文档解析代码

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

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

官方文档介绍

摘自Apache tika官方文档

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

  • 如何使用tika提取文件内容

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


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

jar文件介绍

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

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

java -jar tika-app-2.9.1.jar

程序界面

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

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

读取Excel

读取Excel

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

读取ppt

读取ppt

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

读取pdf

读取pdf

这里都是PDF的文字版本。

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

读取图片

faker-util

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

读取图片结果

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

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

大招

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

java -jar tika-app-2.9.1.jar fake-util.png -T

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

控制台输出

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


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

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

shigen一起,每天不一样!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/601609.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

机器人相关知识

机器人学(Robotics) 一些基础概念 位姿 位姿位置姿态 位姿的表示 刚体 刚性物体是一组粒子的集合,其中任意两个粒子之间的距离保持固定,不受物体运动或施加在物体上的力的影响。 “完全不可变形”的物体就是刚体。 刚体位置 刚性连杆 …

【网络技术】【Kali Linux】Wireshark嗅探(八)动态主机配置协议(DHCP)

一、实验目的 本次实验使用 Wireshark (“网鲨”)流量分析工具进行网络流量嗅探,旨在初步了解动态主机配置协议(DHCP协议)的工作原理。 二、DHCP协议概述 动态主机配置协议( D ynamic H ost C onfigurat…

工智能基础知识总结--导出SVM要优化的问题

导出SVM要优化的问题 对于上图中这样一个二分类线性可分问题,期望找到一个分类超平面将正负类分开,SVM就是一个用来寻找这样的分类超平面的算法。 定义正负类的标签分别为1、-1,分类超平面的表达式为 f ( x ) = w T x + b f(x)=w^Tx+b

使用代理IP保护爬虫访问隐私数据的方法探讨

目录 前言 1. 获取代理IP列表 2. 随机选择代理IP 3. 使用代理IP发送请求 4. 处理代理IP异常 总结 前言 保护爬虫访问隐私数据是一个重要的安全问题。为了保障用户的隐私,很多网站会采取限制措施,如封禁IP或限制访问频率。为了绕过这些限制&#x…

宏电股份5G RedCap终端产品助力深圳极速先锋城市建设

12月26日,“全城全网,先锋物联”深圳移动5G-A RedCap助力深圳极速先锋城市创新发布会举行,宏电股份携一系列5G RedCap终端产品应邀参与创新发布会,来自全国5G生态圈的各界嘉宾、专家学者济济一堂,共探信息化数字化创新…

L1-078:吉老师的回归

题目描述 曾经在天梯赛大杀四方的吉老师决定回归天梯赛赛场啦! 为了简化题目,我们不妨假设天梯赛的每道题目可以用一个不超过 500 的、只包括可打印符号的字符串描述出来,如:Problem A: Print "Hello world!"。 众所周知…

实验笔记之——服务器链接

最近需要做NeRF相关的开发,需要用到GPU,本博文记录本人配置服务器远程链接的过程,本博文仅供本人学习记录用~ 连上服务器 首先先确保环境是HKU的网络环境(HKU AnyConnect也可)。伙伴已经帮忙创建好用户(第一次登录会提示重新设置密码)。用cmd ssh链接ssh -p 60001 <u…

计算机毕业设计 SpringBoot的中小型制造企业质量管理系统 Javaweb项目 Java实战项目 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

Linux基础——进程地址空间

1. 地址空间的验证 之前我们在学习语言时&#xff0c;曾知道有下面这张图 对于这个图我们可以用下面的代码验证 运行后我们可以发现 其对应关系如下 我们使用fork函数&#xff0c;来分别对父子进程中的g_val进行修改&#xff0c;即 运行后我们可以发现 在子进程修改了g_val后…

矩阵的乘法

首先矩阵的乘法定义如下&#xff1a; #include <stdio.h> int main() { int i 0; int j 0; int arr[20][20] { 0 }; int str[20][20] { 0 }; int s[20][20] { 0 }; int n1 0; int n2 0; int m2 0; int z 0; int m1 0;…

AMP 通讯RPMsg

参考 RPMsg&#xff1a;协议简介_rpmsg协议-CSDN博客 【软件架构】【通信】S32G IPCF - 知乎 openamp https://www.cnblogs.com/sky-heaven/p/14085800.html virtualIO 虚拟化技术 — VirtIO 虚拟设备接口标准 - 知乎 Virtio-fs介绍与性能优化_guest docker Docker Docs

LeetCode 每日一题 Day 3334(hard)35 ||二进制枚举/单调栈/链表遍历

2397. 被列覆盖的最多行数 给你一个下标从 0 开始、大小为 m x n 的二进制矩阵 matrix &#xff1b;另给你一个整数 numSelect&#xff0c;表示你必须从 matrix 中选择的 不同 列的数量。 如果一行中所有的 1 都被你选中的列所覆盖&#xff0c;则认为这一行被 覆盖 了。 形式…

CPU算力分配(100用例)C卷 (JavaPythonC语言C++Node.js)

现有两组服务器A和B,每组有多个算力不同的CPU,其中A[i]是A组第i个CPU的运算能力,B[i]是B组第i个CPU的运算能力,一组服务器的总算力是各CPU的算力之和。 为了让两组服务器的算力相等,允许从每组各选出一个CPU进行一次交换,求两组服务器中,用于交换的CPU的算力,并且要求从…

认识jmeter接口测试工具!

jmeter简介 Apache JMeter是Apache组织开发的基于Java的压力测试工具。用于对软件做压力测试&#xff0c;它最初被设计用于Web应用测试&#xff0c;但后来扩展到其他测试领域。 下载 下载地址&#xff1a;​​​​​​Apache JMeter - Download Apache JMeter 安装 由于Jmeter…

学会视频剪辑方法:从视频中提取封面,增加视频观看量

在数字媒体时代&#xff0c;视频已经成为信息传递的主要方式之一。那如何让视频在众多内容中脱颖而出&#xff0c;吸引更多的观众呢&#xff1f;除了内容本身的质量外&#xff0c;视频的封面也是吸引的关键因素之一。下面一起看云炫AI智剪如何通过视频剪辑方法从视频中提取封面…

Docker的一个简单例子(二)

文章目录 环境示例持久化数据bind mount多容器应用Docker Compose 参考 环境 RHEL 9.3Docker Community 24.0.7 示例 持久化数据 默认情况下&#xff0c;各个容器之间的文件系统是相互独立的。即使两个容器来自同一个image&#xff0c;对其中一个容器的修改&#xff0c;对另…

React之useRef hook

介绍 useRef是react的自定义hook&#xff0c;它用来引用一个不需要渲染的值。这篇文章会介绍useRef的简单用法。 使用场景 1.实现节流 通过useRef实现节流功能&#xff0c;在限制时间内多次提交&#xff0c;已第一次提交为准。 useThrottle.jsx import {useEffect, useRef,…

网络安全常见漏洞类型总结

网络安全常见漏洞类型总结 1、弱口令 原因&#xff1a; 与个人习惯和安全意识相关&#xff0c;为了避免忘记密码&#xff0c;使用一个非常容易记住的密码&#xff0c;或者是直接采用系统的默认密码等。 危害&#xff1a; 通过弱口令&#xff0c;攻击者可以进入后台修改资料&a…

【无标题】finalshell 上传php文件,出现500错误的问题

finalshell 上传php文件&#xff0c;运行时出现500错误的问题 多方查找发现是因为上传后文件的权限不够 上传后的权限 rz -yls -ll -rw------- 1 root root 6 17:38 b.php 修改文件权限就可以正常执行了 chmod r b.php 或者 chmod w b.php finalshell 没有找到如何在…

TVbox开发Python语言

使用 Python 编写的电视盒子&#xff08;TV Box&#xff09;用到相关的组件和库的例子&#xff1a; 操作系统交互 - os, sys 用于操作系统级别的交互&#xff0c;如文件系统操作、系统参数获取等。 图形用户界面 (GUI) - tkinter, PyQt, Kivy 用于创建用户界面。 视频播放和处…