亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

1、什么是Tika

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

2、基本特性

跨平臺: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 文件的字符編碼,它會根據(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在并發(fā)環(huán)境中SimpleDateFormat多種解決方案

    Java在并發(fā)環(huán)境中SimpleDateFormat多種解決方案

    這篇文章主要介紹了Java在并發(fā)環(huán)境中SimpleDateFormat多種解決方案,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-07-07
  • Activiti explorer.war示例工程使用過程圖解

    Activiti explorer.war示例工程使用過程圖解

    這篇文章主要介紹了Activiti explorer.war示例工程使用過程圖解,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-03-03
  • Java 生產(chǎn)者/消費(fèi)者問題實(shí)例詳解

    Java 生產(chǎn)者/消費(fèi)者問題實(shí)例詳解

    這篇文章主要實(shí)例分析了java中生產(chǎn)者消費(fèi)者問題的方法,需要的朋友可以可以參考下
    2017-04-04
  • JAVA中的for循環(huán)幾種使用方法講解

    JAVA中的for循環(huán)幾種使用方法講解

    這篇文章主要介紹了JAVA中的for循環(huán)幾種使用方法講解,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-09-09
  • eclipse端口被占用問題的解決方法

    eclipse端口被占用問題的解決方法

    這篇文章主要給大家介紹了關(guān)于eclipse端口被占用問題的解決方法,文中通過圖文以及命令代碼介紹的非常詳細(xì),對遇到這個(gè)問題的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-07-07
  • Spring File Storage文件的對象存儲框架基本使用小結(jié)

    Spring File Storage文件的對象存儲框架基本使用小結(jié)

    在開發(fā)過程當(dāng)中,會使用到存文檔、圖片、視頻、音頻等等,這些都會涉及存儲的問題,文件可以直接存服務(wù)器,但需要考慮帶寬和存儲空間,另外一種方式就是使用云存儲,這篇文章主要介紹了Spring File Storage文件的對象存儲框架基本使用小結(jié),需要的朋友可以參考下
    2024-08-08
  • Javaweb實(shí)現(xiàn)郵件發(fā)送

    Javaweb實(shí)現(xiàn)郵件發(fā)送

    這篇文章主要為大家詳細(xì)介紹了Javaweb實(shí)現(xiàn)郵件發(fā)送,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-06-06
  • SpringMvc MultipartFile實(shí)現(xiàn)圖片文件上傳示例

    SpringMvc MultipartFile實(shí)現(xiàn)圖片文件上傳示例

    本篇文章主要介紹了SpringMvc MultipartFile實(shí)現(xiàn)圖片文件上傳示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-02-02
  • 零基礎(chǔ)寫Java知乎爬蟲之獲取知乎編輯推薦內(nèi)容

    零基礎(chǔ)寫Java知乎爬蟲之獲取知乎編輯推薦內(nèi)容

    上篇文章我們拿百度首頁做了個(gè)小測試,今天我們來個(gè)復(fù)雜的,直接抓取知乎編輯推薦的內(nèi)容,小伙伴們可算松了口氣,終于進(jìn)入正題了,哈哈。
    2014-11-11
  • 淺談Java內(nèi)存模型之happens-before

    淺談Java內(nèi)存模型之happens-before

    于存在線程本地內(nèi)存和主內(nèi)存的原因,再加上重排序,會導(dǎo)致多線程環(huán)境下存在可見性的問題。那么我們正確使用同步、鎖的情況下,線程A修改了變量a何時(shí)對線程B可見?下面小編來簡單介紹下
    2019-05-05

最新評論