当前位置:首页 > 技术分析 > 正文内容

Java 文档解析工具:Apache Tika 开源的文档内容解析工具

ruisui883个月前 (03-20)技术分析42

一、介绍

简单介绍下:Apache TikaTM (Apache Tika  Apache Tika)工具包从一千多种不同的文件类型(如 PPT、XLS 和 PDF)中检测和提取元数据和文本。所有这些文件类型都可以通过一个界面进行解析,这使得 Tika 可用于搜索引擎索引、内容分析、翻译等。


二、使用方式

  1. Java jar 包直接运行的方式;
  2. 安装包直接安装到本地windows 系统的方式;
  3. 环境搭建:
    1. JDK 1.8+
    2. SpringBoot 3.x+

(1)在 Java 程序中使用

【1】引入 Maven 依赖



    org.apache.tika
    tika-core
    2.9.0


    org.apache.tika
    tika-parsers-standard-package
    2.9.0

【2】定义 tika 运行属性

此配置文件存放于 SpringBoot 项目的 resources 目录下即可,如果位置发生变化需要在获取资源的时候改变位置保持同步一致即可。



    
        
            
                64000
            
        
        
            
                64001
            
        
        
            
                64002
            
        
    

【3】编写配置文件

import org.apache.tika.Tika;
import org.apache.tika.config.TikaConfig;
import org.apache.tika.detect.Detector;
import org.apache.tika.exception.TikaException;
import org.apache.tika.parser.AutoDetectParser;
import org.apache.tika.parser.Parser;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.xml.sax.SAXException;

import java.io.IOException;
import java.io.InputStream;

/**
 * tika 配置类
 *
 * @author drew
 * @date 2024/7/6 上午11:59
 */
@Configuration
public class MyTikaConfig {
    @Autowired
    private ResourceLoader resourceLoader;

    @Bean
    public Tika tika() throws TikaException, IOException, SAXException {

        Resource resource = resourceLoader.getResource("classpath:tika-config.xml");
        InputStream inputStream = resource.getInputStream();

        TikaConfig config = new TikaConfig(inputStream);
        Detector detector = config.getDetector();
        Parser autoDetectParser = new AutoDetectParser(config);

        return new Tika(detector, autoDetectParser);
    }
}

【4】运行测试

@SpringBootTest
class DemoApplicationTests {

    @Autowired
    private Tika tika;

    @Test
    void contextLoads() throws TikaException, IOException {
        Path path = Paths.get("C:", "\\Users\\drew\\Downloads\\测试岗位技能要求.pdf");
        File file = path.toFile();
        String content = tika.parseToString(file);
        System.out.println("解析后的文章内容如下:\n" + content);
    }

}

【5】测试结果


(2)直接使用

下载可运行的 Jar 包,直接启动得到一个 图形化界面,拖入一个PDF测试文件来试试,即可,演示步骤如下:

  1. 下载地址:Apache Tika – 下载(https://tika.apache.org/download.html)
  2. 简单运行JAR包指令:【jar -jar tika-app-3.0.0-BETA.jar】即可。

【1】运行 Jar 包

# 下载地址:https://www.apache.org/dyn/closer.lua/tika/3.0.0-BETA/tika-app-3.0.0-BETA.jar
$ java -jar tika-app-3.0.0.BETA.jar

【2】使用示例展示


选中 file - Open,

解析之后的结果,如下图所示:

解析完之后,读取了文件的各种信息

如果需要查看文件的读取内容,需要选择【View - FormattedText】即可查看,如下图所示:

至此,安装使用 Tika 的两种方式示例完毕。更多的使用技巧和方法,见文章底部【附录】地址查看哦 ~~~///(^v^)\\\~~~ 。

附录

  • Apache 官网 Tika 链接:Apache Tika  Apache Tika
  • Apache Tika 下载地址:Apache Tika – 下载【https://tika.apache.org/download.html】

扫描二维码推送至手机访问。

版权声明:本文由ruisui88发布,如需转载请注明出处。

本文链接:http://www.ruisui88.com/post/2914.html

分享给朋友:

“Java 文档解析工具:Apache Tika 开源的文档内容解析工具” 的相关文章

如何在 Linux 发行版中安装微信和 QQ?

很多人因为工作沟通的原因需要用到微信和 QQ,那么如何在 Linux 发行版中安装微信和 QQ 呢?以下是一些尝试的解决方法。QQ上一个版本的 QQ Linux 版还是在2009年,而在现在,基于 NT 架构的全新 QQ Linux版已经被正式推出,为所有用户提供下载。新版本提供了deb、rpm、A...

代码分支规范

一.gitflow工作流说明:主分支:master,稳定版本代码分支,对外可以随时编译发布的分支,不允许直接Push代码,只能请求合并(pull request),且只接受hotfix、release分支的代码合并。gitlab上做限制。热修复分支:hotfix,针对现场紧急问题、bug修复的代码分...

博信股份新战略后再推新品 TOPPERS E2耳机售价199元

中新网6月21日电 20日,博信股份在北京正式推出新品TOPPERS主动降噪耳机E2,这是博信股份继2月战略暨新品发布会后的第二次新品亮相。价格方面,TOPPERS主动降噪耳机E2零售价199元,并于6月20日下午4点在京东商城公开销售。据介绍,TOPPERS主动降噪耳机E2采用AMS(奥地利微电子...

壹啦罐罐 Android 手机里的 Xposed 都装了啥

这是少数派推出的系列专题,叫做「我的手机里都装了啥」。这个系列将邀请到不同的玩家,从他们各自的角度介绍手机中最爱的或是日常使用最频繁的 App。文章将以「每周一篇」的频率更新,内容范围会包括 iOS、Android 在内的各种平台和 App。本期继续歪楼,由少数派撰稿作者@壹啦罐罐介绍他正在使用的...

一文让你彻底搞懂 vue-Router

路由是网络工程里面的专业术语,就是通过互联把信息从源地址传输到目的地址的活动。本质上就是一种对应关系。分为前端路由和后端路由。后端路由:URL 的请求地址与服务器上的资源对应,根据不同的请求地址返回不同的资源。前端路由:在单页面应用中,根据用户触发的事件,改变URL在不刷新页面的前提下,改变显示内容...

基于 vue3.0 小程序拖拽定制

今天给大家分享一个使用Vue3编写的自由DIY小程序页面。mbDIY 一款基于vue3.x构建的可拖拽定制小程序模板。支持新建页面、自由拖拽模块、复制/移动、自定义模块样式等功能。整个项目分为页面、模块、控件三大部分。模块里面的组件可拖拽至主面板区,编辑后保存即可预览效果。快速安装# 克隆项目 gi...