springboot集成tika解析word,pdf,xls文件文本内容
Apache Tika 是一个开源的内容分析工具包,用于从各种文档格式中提取文本和元数据。它支持多种文档类型,包括但不限于文本文件、HTML、PDF、Microsoft Office 文档、图像文件等。Tika 的主要功能包括内容检测、文本提取和元数据提取。
·
介绍
Apache Tika 是一个开源的内容分析工具包,用于从各种文档格式中提取文本和元数据。它支持多种文档类型,包括但不限于文本文件、HTML、PDF、Microsoft Office 文档、图像文件等。Tika 的主要功能包括内容检测、文本提取和元数据提取。
官网
Apache Tika 的功能
- 内容检测:识别文件的 MIME 类型。
- 文本提取:从文档中提取纯文本内容。
- 元数据提取:从文档中提取元数据(如标题、作者、创建日期等)。
与Springboot集成案例
添加pom依赖
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.9.1</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers-standard-package</artifactId>
<version>2.9.1</version>
</dependency>
创建工具类
public class MyFileUtils {
public static String doParse(String filePath) throws TikaException, SAXException, IOException {
try(InputStream inputStream = new FileInputStream(filePath)){
BodyContentHandler handler = new BodyContentHandler(-1);
Metadata metadata = new Metadata();
ParseContext parseContext = new ParseContext();
AutoDetectParser detectParser = new AutoDetectParser();
detectParser.parse(inputStream, handler, metadata, parseContext);
return handler.toString();
}
}
}
测试
public class MyFileUtilsTest {
public static void main(String[] args) {
String filePath = "D:/tmp/测试附件.xls";
String content = null;
try {
content = MyFileUtils.doParse(filePath);
} catch (TikaException e) {
e.printStackTrace();
} catch (SAXException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
System.out.println(content);
}
}
- 输出

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐
所有评论(0)