springboot集成tika解析word,pdf,xls文件文本内容

介绍

Apache Tika 是一个开源的内容分析工具包,用于从各种文档格式中提取文本和元数据。它支持多种文档类型,包括但不限于文本文件、HTML、PDF、Microsoft Office 文档、图像文件等。Tika 的主要功能包括内容检测、文本提取和元数据提取。

官网

https://tika.apache.org/

Apache Tika 的功能

  • 内容检测:识别文件的 MIME 类型。
  • 文本提取:从文档中提取纯文本内容。
  • 元数据提取:从文档中提取元数据(如标题、作者、创建日期等)。

与Springboot集成案例

添加pom依赖

xml 复制代码
<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>

创建工具类

java 复制代码
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();
        }
    }

}

测试

java 复制代码
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);
    }
}
  • 输出
相关推荐
洛枫偃月1 天前
SpringBoot3.5.x集成Nacos 2.x全流程详解
java·spring boot·后端
zhanjixun1 天前
Spring Boot Maven项目构建Docker镜像
spring boot·docker·maven
我乃世间蓬蒿人1 天前
使用PdfBox对pdf表单进行填报,在长文本时上下行间距过大问题!
pdf
CodeCraft Studio1 天前
国产化PDF处理控件Spire.PDF教程:使用Python批量转换PDF为PDF/A
开发语言·python·pdf·spire.pdf·pdf/a·pdf转pdf/a·pdf开发组件
晓13131 天前
后端篇——第三章 JavaWeb-Springboot入门
java·spring boot
JavaGuru_LiuYu1 天前
Spring Boot 整合原生 WebSocket
spring boot·后端·websocket·即使通信
刘一说1 天前
2026年Java技术栈全景图:从Web容器到云原生的深度选型指南(附避坑指南)
java·前端·spring boot·后端·云原生·tomcat·mybatis
小兔崽子去哪了1 天前
SpringBoot 原理专题
java·spring boot·spring
韩立学长1 天前
基于Springboot就业岗位推荐系统a6nq8o76(程序、源码、数据库、调试部署方案及开发环境)系统界面展示及获取方式置于文档末尾,可供参考。
数据库·spring boot·后端
YJlio1 天前
PsPing 学习笔记(14.10):常见错误与排错思路——从“不可达”到“端口拒绝”
开发语言·笔记·python·学习·django·pdf·pygame