网站首页 > java教程 正文
一、介绍
简单介绍下:Apache Tika? (Apache Tika Apache Tika)工具包从一千多种不同的文件类型(如 PPT、XLS 和 PDF)中检测和提取元数据和文本。所有这些文件类型都可以通过一个界面进行解析,这使得 Tika 可用于搜索引擎索引、内容分析、翻译等。
二、使用方式
- Java jar 包直接运行的方式;
- 安装包直接安装到本地windows 系统的方式;
- 环境搭建:
- JDK 1.8+
- SpringBoot 3.x+
(1)在 Java 程序中使用
【1】引入 Maven 依赖
<!-- tika 文章解析 -->
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-core</artifactId>
<version>2.9.0</version>
</dependency>
<dependency>
<groupId>org.apache.tika</groupId>
<artifactId>tika-parsers-standard-package</artifactId>
<version>2.9.0</version>
</dependency>
【2】定义 tika 运行属性
此配置文件存放于 SpringBoot 项目的 resources 目录下即可,如果位置发生变化需要在获取资源的时候改变位置保持同步一致即可。
<?xml version="1.0" encoding="UTF-8"?>
<properties>
<encodingDetectors>
<encodingDetector class="org.apache.tika.parser.html.HtmlEncodingDetector">
<params>
<param name="markLimit" type="int">64000</param>
</params>
</encodingDetector>
<encodingDetector class="org.apache.tika.parser.txt.UniversalEncodingDetector">
<params>
<param name="markLimit" type="int">64001</param>
</params>
</encodingDetector>
<encodingDetector class="org.apache.tika.parser.txt.Icu4jEncodingDetector">
<params>
<param name="markLimit" type="int">64002</param>
</params>
</encodingDetector>
</encodingDetectors>
</properties>
【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测试文件来试试,即可,演示步骤如下:
- 下载地址:Apache Tika – 下载(https://tika.apache.org/download.html)
- 简单运行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】
猜你喜欢
- 2024-11-08 太强了,阿里P8面试官用1个多月,总结1000道题的Java面试文档!
- 2024-11-08 准备2023金三银四的Java程序员注意:40+文档5000+页面试资料来啦
- 2024-11-08 java语言基本学习文档一(java语言入门知识)
- 2024-11-08 霸榜GitHub!BAT内部学习资料:Java核心知识点文档限时开源
- 2024-11-08 Java 获取PowerPoint文档中文本的位置
- 2024-11-08 Java 计算Word文档的字数和字符数(计空格或不计空格)
- 2024-11-08 基于JAVA的社团管理系统—文档(基于javaee的管理系统)
- 2024-11-08 计算机等级考试辅导:Java类的基本组成和使用单元辅导文档
- 2024-11-08 Java生成word文档(java生成word文档却只有1kb)
- 2024-11-08 还在手写数据库设计文档?java一键生成
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)