欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot+Apache tika實現(xiàn)文檔內(nèi)容解析的示例詳解

 更新時間:2023年07月05日 16:36:21   作者:不可食用鹽  
Apache tika是Apache開源的一個文檔解析工具,本文主要為大家介紹了如何在springboot中引入tika的方式解析文檔,感興趣的小伙伴可以了解一下

Apache tikaApache開源的一個文檔解析工具。Apache Tika可以解析和提取一千多種不同的文件類型(如PPT、XLS和PDF)的內(nèi)容和格式,并且Apache Tika提供了多種使用方式,既可以使用圖形化操作頁面(tika-app),又可以獨立部署(tika-server)通過接口調(diào)用,還可以引入到項目中使用。

本文演示在spring boot 中引入tika的方式解析文檔。如下:

引入依賴

在spring boot 項目中引入如下依賴:

  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>org.apache.tika</groupId>
        <artifactId>tika-bom</artifactId>
        <version>2.8.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-core</artifactId>
    </dependency>
    <dependency>
      <groupId>org.apache.tika</groupId>
      <artifactId>tika-parsers-standard-package</artifactId>
    </dependency>

創(chuàng)建配置

1.將tika-config.xml文件放在resources目錄下。tika-config.xml文件的內(nèi)容如下:

<?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>

2.創(chuàng)建配置類MyTikaConfig

import java.io.IOException;
import java.io.InputStream;
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;
/**
 * tika配置類
 */
@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);
    }
}

Tika類中提供了文芳detecttranslateparse功能, 在項目中通過注入TIka, 就可以使用了

在項目使用

配置完成后在項目中可以通過注入TIka即可完成文檔的解析。如下圖所示:

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

相關(guān)文章

  • 淺談JAVA 線程狀態(tài)中可能存在的一些誤區(qū)

    淺談JAVA 線程狀態(tài)中可能存在的一些誤區(qū)

    這篇文章主要介紹了淺談JAVA 線程狀態(tài)中可能存在的一些誤區(qū),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-04-04
  • SpringBoot使用JSch操作Linux的方法

    SpringBoot使用JSch操作Linux的方法

    JSch是一個Java庫,它提供了SSH(Secure?Shell)的Java實現(xiàn),允許Java程序通過SSH協(xié)議連接到遠程系統(tǒng)(如Linux),這篇文章主要介紹了SpringBoot使用JSch操作Linux,需要的朋友可以參考下
    2023-11-11
  • 一文掌握maven??filtering標簽

    一文掌握maven??filtering標簽

    這篇文章主要介紹了maven??filtering標簽,本文通過三種方法給大家講解maven?filtering標簽,結(jié)合示例代碼給大家介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • 分析Java中ArrayList與LinkedList列表結(jié)構(gòu)的源碼

    分析Java中ArrayList與LinkedList列表結(jié)構(gòu)的源碼

    這篇文章主要介紹了Java中ArrayList與LinkedList列表結(jié)構(gòu)的源碼,文章最后對LinkedList和ArrayList以及Vector的特性有一個對比總結(jié),需要的朋友可以參考下
    2016-05-05
  • 解決若依pageHelper在動態(tài)切換數(shù)據(jù)源問題

    解決若依pageHelper在動態(tài)切換數(shù)據(jù)源問題

    這篇文章主要介紹了解決pageHelper在動態(tài)切換數(shù)據(jù)源問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-01-01
  • Java中Volatile關(guān)鍵字能保證原子性嗎

    Java中Volatile關(guān)鍵字能保證原子性嗎

    這篇文章主要介紹了Java中Volatile關(guān)鍵字能保證原子性嗎,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Java透明窗體的設(shè)置方法

    Java透明窗體的設(shè)置方法

    在本文中我們給大家整理了關(guān)于Java透明窗體的設(shè)置方法以及需要注意的地方,需要的朋友們學(xué)習(xí)參考下。
    2019-03-03
  • springboot jackson配置教程

    springboot jackson配置教程

    這篇文章主要介紹了springboot jackson配置教程,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • springboot如何引入外部yml配置文件

    springboot如何引入外部yml配置文件

    這篇文章主要介紹了springboot如何引入外部yml配置文件,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-08-08
  • Servlet從入門到精通(超級詳細!)

    Servlet從入門到精通(超級詳細!)

    在JavaWeb項目中,處理請求和發(fā)送響應(yīng)的過程是由一種叫做Servlet 的程序來完成的,并且 Servlet 是為了解決實現(xiàn)動態(tài)頁面而衍生的東西,下面這篇文章主要給大家介紹了關(guān)于Servlet從入門到精通的相關(guān)資料,需要的朋友可以參考下
    2022-03-03

最新評論