最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Springboot集成Tika實(shí)現(xiàn)文檔解析

 更新時(shí)間:2024年11月26日 10:18:20   作者:有一只柴犬  
Tika是一款A(yù)pache開源的,跨平臺(tái),支持多品種文本類型的內(nèi)容檢測和提取工具,本文將介紹Springboot如何集成Tika實(shí)現(xiàn)文檔解析,需要的可以參考下

1、什么是Tika

Tika是一款A(yù)pache開源的,跨平臺(tái),支持多品種文本類型的內(nèi)容檢測和提取工具。Apache官方的介紹如下:Apache Tika™ 工具包可檢測并提取一千多種不同文件類型(如 PPT、XLS 和 PDF)中的元數(shù)據(jù)和文本。所有這些文件類型都可以通過一個(gè)界面進(jìn)行解析,這使得 Tika 可用于搜索引擎索引、內(nèi)容分析、翻譯等。

2、基本特性

跨平臺(tái):Tika 可以在多種操作系統(tǒng)上運(yùn)行,包括 Windows、Linux 和 Mac OS。

支持多種格式:Tika 支持多種文件格式,包括常見的文檔、圖片、音頻和視頻格式。

可擴(kuò)展性:Tika 的設(shè)計(jì)是模塊化的,允許開發(fā)者添加新的解析器來支持新的文件格式。

安全性:Tika 提供了防止文件注入攻擊的機(jī)制,確保在處理用戶上傳的文件時(shí)保持安全性。

3、Tika可視化提取

Tika提供了可視化界面工具,可以直接通過可視化工具手動(dòng)提取我們想要的文本內(nèi)容??梢暬ぞ咝枰螺dtika-app.jar包,下載后,直接執(zhí)行java -jar tika-app-2.9.2.jar,即可喚起程序主頁面:

打開我們需要提取的文本,點(diǎn)擊view -> 即可提取我們想要的格式。

4、Springboot集成

4.1、maven依賴

<dependencies>
 
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-core</artifactId>
            <version>2.9.2</version>
        </dependency>
 
        <dependency>
            <groupId>org.apache.tika</groupId>
            <artifactId>tika-parsers-standard-package</artifactId>
            <version>2.9.2</version>
        </dependency>
 
    </dependencies>

4.2、Tika配置文件

tika-config.xml:

<?xml version="1.0" encoding="UTF-8"?>
<properties>
    <encodingDetectors>
        <!-- 檢測 HTML 文件的字符編碼,它會(huì)根據(jù) HTML 元素(如 <meta> 標(biāo)簽)中的聲明來判斷編碼。 -->
        <encodingDetector class="org.apache.tika.parser.html.HtmlEncodingDetector">
            <params>
                <!-- 讀取的最大字節(jié)數(shù)(這里是 64,000 字節(jié))用于判斷編碼 -->
                <param name="markLimit" type="int">64000</param>
            </params>
        </encodingDetector>
        <!-- Tika 的通用編碼檢測器 -->
        <encodingDetector class="org.apache.tika.parser.txt.UniversalEncodingDetector">
            <params>
                <param name="markLimit" type="int">64000</param>
            </params>
        </encodingDetector>
        <!-- 基于 ICU4J 庫的編碼檢測器。ICU4J 是一個(gè)強(qiáng)大的國際化庫,能夠更準(zhǔn)確地檢測多語言文本的編碼。 -->
        <encodingDetector class="org.apache.tika.parser.txt.Icu4jEncodingDetector">
            <params>
                <param name="markLimit" type="int">64000</param>
            </params>
        </encodingDetector>
    </encodingDetectors>
</properties>

4.3、注入tika bean

@Configuration
public class ApplicationTikaConfig {
 
    @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.4、Service類

@Service
public class TikaParserService {
 
    @Autowired
    private Tika tika;
 
    public void parser(Path srcPath) throws TikaException, IOException {
        String result = tika.parseToString(srcPath);
        System.out.println(result);
    }
 
}

4.5、測試類TikaParserDemoTest

@SpringBootTest(classes = Main.class)
@RunWith(SpringRunner.class)
public class TikaParserDemoTest {
 
    @Autowired
    private TikaParserService tikaParserService;
 
    @Test
    public void testTikaParser() throws TikaException, IOException {
        tikaParserService.parser(Paths.get("F:", "Java開發(fā)手冊(黃山版).pdf"));
    }
 
}

運(yùn)行結(jié)果:

到此這篇關(guān)于Springboot集成Tika實(shí)現(xiàn)文檔解析的文章就介紹到這了,更多相關(guān)Springboot Tika文檔解析內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的幾種方法總結(jié)

    JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的幾種方法總結(jié)

    本篇文章主要介紹了JAVA中讀取文件(二進(jìn)制,字符)內(nèi)容的方法總結(jié),小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-02-02
  • java 逐行讀取txt文本如何解決中文亂碼

    java 逐行讀取txt文本如何解決中文亂碼

    在使用java讀取txt文本中如含有中文,可能會(huì)出現(xiàn)亂碼,很多初學(xué)者束手無策,本文將提供詳細(xì)的解決方法
    2012-11-11
  • SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼

    SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼

    本文主要介紹了SpringBoot利用限速器RateLimiter實(shí)現(xiàn)單機(jī)限流的示例代碼,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • 關(guān)于Java企業(yè)級項(xiàng)目開發(fā)思想

    關(guān)于Java企業(yè)級項(xiàng)目開發(fā)思想

    Java企業(yè)級項(xiàng)目開發(fā)思想。偶遇,讀有所得,遂分享給大家,本文不涉及案例,只談思想和理念,需要的朋友可以參考。
    2017-09-09
  • SpringBoot通過攔截器實(shí)現(xiàn)接口限流的兩種方案

    SpringBoot通過攔截器實(shí)現(xiàn)接口限流的兩種方案

    在Spring Boot中,可以通過自定義攔截器(Interceptor)結(jié)合Redis或內(nèi)存計(jì)數(shù)器實(shí)現(xiàn)接口限流,以下是兩種典型實(shí)現(xiàn)方式及代碼示例,需要的朋友可以參考下
    2025-10-10
  • @JsonProperty和@JSONField注解的區(qū)別解析(最新)

    @JsonProperty和@JSONField注解的區(qū)別解析(最新)

    Jackson是一款優(yōu)秀的JSON解析庫,添加了依賴之后就可以使用對應(yīng)的注解,讓我們能夠自由的將Java對象和JSON做轉(zhuǎn)換,這篇文章主要介紹了@JsonProperty和@JSONField注解的區(qū)別,需要的朋友可以參考下
    2024-04-04
  • java實(shí)現(xiàn)線性表及其算法

    java實(shí)現(xiàn)線性表及其算法

    線性表是最簡單和最常用的一種數(shù)據(jù)結(jié)構(gòu),它是有n個(gè)體數(shù)據(jù)元素(節(jié)點(diǎn))組成的有限序列,這篇文章主要介紹了java實(shí)現(xiàn)線性表及其算法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • Springboot使用@Cacheable注解實(shí)現(xiàn)數(shù)據(jù)緩存

    Springboot使用@Cacheable注解實(shí)現(xiàn)數(shù)據(jù)緩存

    本文介紹如何在Springboot中通過@Cacheable注解實(shí)現(xiàn)數(shù)據(jù)緩存,在每次調(diào)用添加了@Cacheable注解的方法時(shí),Spring 會(huì)檢查指定參數(shù)的指定目標(biāo)方法是否已經(jīng)被調(diào)用過,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-10-10
  • 淺談Java日志框架slf4j作用及其實(shí)現(xiàn)原理

    淺談Java日志框架slf4j作用及其實(shí)現(xiàn)原理

    日志記錄是應(yīng)用程序運(yùn)行中必不可少的一部分。這篇文章主要介紹了淺談Java日志框架slf4j作用及其實(shí)現(xiàn)原理,SLF4J是一個(gè)日志框架抽象層,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • springboot swagger2注解使用的教程

    springboot swagger2注解使用的教程

    這篇文章主要介紹了springboot swagger2注解使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-05-05

最新評論

六盘水市| 龙泉市| 闵行区| 南投市| 双鸭山市| 西贡区| 长兴县| 鄂伦春自治旗| 道真| 浑源县| 钦州市| 永福县| 昌黎县| 台东县| 千阳县| 桦甸市| 成安县| 积石山| 南皮县| 蒙自县| 新丰县| 东海县| 泸水县| 武城县| 安顺市| 平原县| 库尔勒市| 略阳县| 温泉县| 庐江县| 邢台县| 柳州市| 泽库县| 丰都县| 涿州市| 灌云县| 邹城市| 香河县| 金门县| 泸州市| 冕宁县|