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

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

arlanguage1个月前 (03-27)技术文章11

一、介绍

简单介绍下: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】

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

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

本文链接:http://www.arlanguage.com/post/3613.html

标签: java文档
分享给朋友:

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

haproxy负载均衡入门到转行

haproxy概述haproxy是一款开源的高性能的反向代理或者说是负载均衡服务软件之一,支持双机热备,虚拟主机基于TCP/HTTP应用代理,具有图形界面等功能。其配置简单,而且拥有很好的对服务器节点的健康检查功能(相当于keepalived健康检查),当其代理的后端服务器出现故障时,haproxy...

Nginx的安装及配置详解 nginx1.12安装

Nginx是一个强大的免费开源的HTTP服务器和反向代理服务器。在Web开发项目中,nginx常用作为静态文件服务器处理静态文件,并负责将动态请求转发至应用服务器(Django, Flask, etc)。熟悉Nginx的配置对Web开发和运维人员来说至关重要。本文整理了Nginx的配置大全,可以作为...

一起学习Kubernetes:容器和镜像

简述容器每个运行的容器都是可重复的;包含依赖环境在内的标准,意味着无论你在哪里运行它都会得到相同的行为。容器将应用程序从底层的主机设施中解耦。 这使得在不同的云或 OS 环境中部署更加容易。Kubernetes 集群中的每个节点都会运行容器,这些容器构成分配给该节点的 Pod。 单个 Pod 中的容...

Wordpress+Nginx代理部署实战

一、文档说明本文档主要介绍wordpress+nginx架构调整。Wordpress默认的前端架构是httpd,为了便于管理和拓展需求,现替换为nginx作为前端代理,并使其实现前后端分离。二、建设背景一般情况我们架设wordpress 的结构是这样的:客户端直接访问Wordpress服务器,这种形...

博客引擎 hugo intro 入门介绍+安装笔记

拓展阅读blog-engine-01-常见博客引擎 jekyll/hugo/Hexo/Pelican/Gatsby/VuePress/Nuxt.js/Middleman 对比[1]blog-engine-02-通过博客引擎 jekyll 构建 github pages 博客实战笔记[2]blog-e...

路由虚拟服务器nginx转发400问题

背景:关于网络和硬件:旧服务基本是在公有云服务器或提供公网IP的服务器操作的。关于服务:后端jar服务运行,前端vue生成的包并通过nginx转发。以前的nginx配置文件:location / { root /data/project/web/; try...