精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Tika 與 Spring Boot 的完美結合:支持任意文檔解析的神器

開發 前端
隨著數字化轉型的加速,企業和組織越來越依賴自動化工具來處理大量的文檔數據。Apache Tika 是一個強大的開源工具,專門用于從各種文件格式中提取文本和元數據。Spring AI也自動集成了Tika作為文檔解析器。

環境:SpringBoot3.2.5


一、簡介

文檔解析在現代企業和開發領域中應用還是非常廣泛的,尤其是在需要從多種格式的文檔中提取有價值信息的情況下。隨著數字化轉型的加速,企業和組織越來越依賴自動化工具來處理大量的文檔數據。Apache Tika 是一個強大的開源工具,專門用于從各種文件格式中提取文本和元數據。Spring AI也自動集成了Tika作為文檔解析器。

通過使用 Tika,企業不僅可以簡化文檔處理流程,還能提高數據處理的準確性和效率。

Tika有哪些優勢呢?

1. 廣泛的格式支持

Tika 支持超過 1000 種文檔格式,包括常見的 Office 文檔(如 DOCX、XLSX、PPTX)、PDF、HTML、音頻、視頻和圖像文件。

2. 易于集成

Tika 提供了一個簡單易用的 Java API,可以輕松地集成到任何 Java 應用程序中,包括 Spring Boot 應用。

3. 內容和元數據提取

Tika 不僅能夠提取文檔的內容,還能提取文檔的元數據,如標題、作者、創建日期等。

4. 自然語言處理(NLP)功能

Tika 內置了一些自然語言處理功能,如語言檢測、詞頻統計等。這使得 Tika 成為一個多功能工具,不僅限于文檔解析,還可以用于文本分析。

5. 批處理和自動化

Tika 支持批處理模式,可以高效地處理大量文檔。這對于需要自動化文檔處理流程的應用非常有用,可以節省時間和人力資源。

6. 跨平臺兼容性

Tika 是純 Java 編寫的,因此可以在任何支持 Java 的平臺上運行,具有很好的跨平臺兼容性。

7. 社區支持

作為 Apache 基金會的一個項目,Tika 擁有一個活躍的社區支持。

8. 安全性

Tika 在處理文檔時支持安全功能,如防止惡意內容(如 XSS 攻擊)和處理加密文檔。

9. 擴展性和插件化

Tika 設計為可擴展的,支持通過插件來增加新的解析器和功能。

10. 輕量級

盡管功能強大,Tika 卻是一個相對輕量級的工具,不需要安裝復雜的依賴環境即可運行。

接下來,我們將通過幾個示例詳細介紹有關Tika的使用。

2. 實戰案例

Tika 提供了多種解析文件的方法。這些方法提供了不同程度的控制、靈活性和復雜性。

環境準備

<properties>
  <tika.version>2.9.2</tika.version>
</properties>
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-core</artifactId>
  <version>${tika.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parsers-standard-package</artifactId>
  <version>${tika.version}</version>
</dependency>
<dependency>
  <groupId>org.apache.tika</groupId>
  <artifactId>tika-parser-scientific-package</artifactId>
  <version>${tika.version}</version>
</dependency>

注意你使用的版本,可能會有些差異。

2.1 使用 Tika 門面進行解析

Tika Facade 提供了許多快速、簡便的方法,讓 Tika 對內容進行解析,并返回結果純文本。

public static String parseToString() throws Exception {
  Tika tika = new Tika();
  try (InputStream stream = new FileInputStream(new File("e:\\technology.docx"))) {
    return tika.parseToString(stream);
  }
}

輸出結果

圖片圖片

完整的將word文檔中的內容按照格式解析出來。

2.2 解析文本文件

不管你要解析什么文檔格式,你都可以通過AutoDetectParser來完成解析動作,不過這里我們使用具體的文本解析器TXTParser。

TXTParser parser = new TXTParser() ;
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata() ;
ParseContext context = new ParseContext() ;
try (InputStream stream = new FileInputStream(new File("C:\\execute script.txt"))) {
  parser.parse(stream, handler, metadata, context) ;
}
System.out.println(handler.toString()) ;
System.out.println(metadata.toString()) ;

輸出結果

圖片圖片

2.3 解析PDF文檔

與上面解析文本文檔一樣,我們只需要切換不同的解析器即可,如下示例:

PDFParser parser = new PDFParser() ;
BodyContentHandler handler = new BodyContentHandler();
Metadata metadata = new Metadata() ;
ParseContext context = new ParseContext() ;
try (InputStream stream = new FileInputStream(new File("D:\\setups\\ReferenceCard.pdf"))) {
  parser.parse(stream, handler, metadata, context) ;
}
System.out.println(handler.toString()) ;
System.out.println(metadata.toString()) ;

這里僅僅是切換了解析器而已,輸出結果:

圖片圖片

2.4 使用自動檢測解析器進行解析

為了獲得更多控制權,你可以直接調用 Tika 解析器。大多數情況下,你會希望從自動檢測解析器開始使用,它會自動找出你的內容類型,然后為你調用相應的解析器。

public static String parseAutoDetect() throws Exception {
  AutoDetectParser parser = new AutoDetectParser() ;
  BodyContentHandler handler = new BodyContentHandler() ;
  Metadata metadata = new Metadata();
  try (InputStream stream = new FileInputStream(new File("e:\\technology.docx"))) {
    parser.parse(stream, handler, metadata);
    return handler.toString();
  }
}

這同樣能正確的解析文檔內容,在這里我們不需要使用具體文檔的解析器,而是由Tika自動的監測。

2.5 將文檔解析為HTML

在解析時,我們可以通過使用 ToXMLContentHandler,可以以字符串形式獲取整個文檔的 XHTML 內容。

public static String parserToXHTML() throws Exception {
  ToXMLContentHandler handler = new ToXMLContentHandler();
  
  AutoDetectParser parser = new AutoDetectParser();
  Metadata metadata = new Metadata();
  try (InputStream stream = new FileInputStream(new File("e:\\technology.docx"))) {
      parser.parse(stream, handler, metadata);
      return handler.toString();
  }
}

輸出結果

圖片圖片

保存為html后,通過瀏覽器瀏覽

圖片圖片

完美的生成HTML文檔。

2.6 定制化Tika

通過 Tika 的配置 XML,可以對使用哪些解析器以及它們的優先級順序等進行高度控制。如下示例配置(tika-config.xml)

<?xml versinotallow="1.0" encoding="UTF-8"?>
<properties>
  <parsers>
    <!-- 配置了默認解析器,同時設置了不解析n哪些類型的文檔 -->
    <parser class="org.apache.tika.parser.DefaultParser">
      <!-- 這將不解析PDF文檔-->
      <mime-exclude>application/pdf</mime-exclude>
    </parser>
  </parsers>
</properties>

使用方式

TikaConfig config = new TikaConfig(new ClassPathResource("tika-config.xml").getFile());
AutoDetectParser parser = new AutoDetectParser(config) ;
// ...

當你解析PDF文檔時將輸出如下提示:

X-TIKA:Parsed-By=org.apache.tika.parser.EmptyParser X-TIKA:Parsed-By-Full-Set=org.apache.tika.parser.EmptyParser Content-Type=application/pdf

你也可以為具體的文檔類型,自定義解析器,可如下配置:

<?xml versinotallow="1.0" encoding="UTF-8"?>
<properties>
  <parsers>
    <parser class="com.pak.PackPDFParser">
      <mime>application/pdf</mime>
    </parser>
  </parsers>
</properties>

這里定義了pdf文檔將會使用PackPDFParser進行解析。

2.7 與Spring Boot結合

我們這里通過文件上傳的方式,將上傳的文件解析為文本數據,然后輸出。

首先,配置自動關聯文檔的解析器

@Bean
Parser parser() {
  AutoDetectParser parser = new AutoDetectParser() ;
  parser.setFallback(new TXTParser()) ;
  return parser ;
}

接下來,定義Controller接口

@RestController
@RequestMapping("/tika")
public class TikaController {


  private final Parser parser ;
  public TikaController(Parser parser) {
    this.parser = parser ;
  }
  
  @PostMapping("/upload")
  public String upload(MultipartFile file) throws Exception {
    InputStream stream = file.getInputStream() ;
    BodyContentHandler handler = new BodyContentHandler();
    this.parser.parse(stream, handler, new Metadata(), new ParseContext()) ;
    return handler.toString() ;
  }
}

通過postman進行接口調用

圖片圖片

與Spring Boot結合非常的簡單也就是簡單的調用相應的API接口。

責任編輯:武曉燕 來源: Spring全家桶實戰案例源碼
相關推薦

2022-07-07 08:38:15

Springflowable引擎

2009-06-04 10:44:34

StrutsHibernate配合

2011-03-07 16:10:41

FireFTPFirefoxFTP

2022-05-17 09:19:17

XebianLinuxLinux 發行版

2025-01-02 11:01:13

Apache文件類型部署

2022-04-19 20:39:03

協程多進程

2010-04-29 10:32:14

虛擬技術上海世博會

2009-07-03 13:54:38

Java Servle

2021-05-25 09:10:54

工具代碼開發

2025-02-27 08:00:00

熔斷機制微服務Spring

2025-09-23 08:00:52

SpringApache文件類型

2025-09-12 07:55:54

2025-02-17 09:32:18

2024-05-28 09:30:13

2025-02-25 08:00:00

SpringBootLua開發

2010-03-04 09:16:05

Opera版本發布

2015-11-04 15:13:56

華為

2010-07-27 09:11:38

FlexBuilder

2024-05-15 08:54:04

C++類型限定符代碼

2013-10-31 13:19:06

點贊
收藏

51CTO技術棧公眾號

欧美日韩成人精品| 欧美日韩成人综合在线一区二区| 成人在线视频电影| 日本在线视频免费| 国产欧美日韩影院| 欧美久久免费观看| 日韩一级免费看| 天堂在线观看免费视频| 日本不卡一区二区三区 | 情事1991在线| 97在线观看免费视频| 日本一区二区三区中文字幕| 一个色综合av| 丁香五月网久久综合| 国语对白永久免费| 一本一道久久综合狠狠老 | 你懂的在线播放| 精品一区免费av| 久久99久久久久久久噜噜| 好男人香蕉影院| 五月激情久久| 亚洲午夜电影网| 水蜜桃一区二区三区| 99精品在线看| 日日夜夜精品视频免费| 九九热99久久久国产盗摄| 国产精品无码网站| 国产高清视频一区二区| 日韩欧美高清在线视频| 色婷婷777777仙踪林| 三级在线电影| 成人午夜伦理影院| 91九色国产在线| 无码视频在线观看| 亚洲伦理精品| 另类视频在线观看| 69精品无码成人久久久久久| 成人av资源网址| 欧美日本一区二区在线观看| 日日橹狠狠爱欧美超碰| 污视频网站免费在线观看| 国产三级一区二区三区| 精品国产一区二区三| 99热这里只有精品在线| 日本91福利区| 91国内产香蕉| 久久av红桃一区二区禁漫| 日韩精品福利一区二区三区| 日韩你懂的电影在线观看| 五月婷婷之婷婷| 影音成人av| 91传媒视频在线播放| 日韩国产欧美亚洲| 黄色羞羞视频在线观看| 亚洲六月丁香色婷婷综合久久| 日韩国产欧美一区| 天天综合天天色| 不卡的av电影| 国产精品二区在线| 性生活三级视频| 国产精品夜夜爽| 亚洲精品欧美日韩| 国产精品欧美久久久久天天影视 | 隔壁老王国产在线精品| 美女av免费看| 欧美日韩激情在线一区二区三区| 精品视频在线播放免| 日本黄色片在线播放| 红杏成人性视频免费看| 亚洲激情 国产| 国产精品久久AV无码| 国产精品2023| 日韩国产精品视频| 国产精品无码久久久久一区二区| 日韩在线黄色| 亚洲三级黄色在线观看| 无码少妇精品一区二区免费动态| 国产一区二区三区四区大秀| 亚洲日本欧美中文幕| 欧美成人国产精品一区二区| 欧美日韩亚洲在线观看| 少妇高潮 亚洲精品| 侵犯稚嫩小箩莉h文系列小说| 中文字幕一区二区三三| 欧美激情手机在线视频| 国产中文字幕免费| 一区二区三区四区五区精品视频 | 国产精品第一国产精品| 欧美日本免费一区二区三区| 在线免费黄色网| 日韩在线亚洲| 日韩av在线导航| 亚洲女优在线观看| 亚洲影视一区二区三区| 国语自产精品视频在线看一大j8 | 亚洲国产老妈| 欧美精品福利在线| 国产熟妇一区二区三区四区| 性感少妇一区| 国产精品亚洲自拍| 国产成人精品亚洲精品色欲| 不卡视频在线观看| 天天爽天天狠久久久| 国产区在线观看| 精品久久久久久久大神国产| 最新中文字幕免费视频| 我要色综合中文字幕| 日韩精品免费视频| 91ts人妖另类精品系列| 激情亚洲成人| 国产精品视频内| 亚洲精品中文字幕成人片| 久久久五月婷婷| 黑人巨茎大战欧美白妇| 在线天堂资源| 欧美大片顶级少妇| 亚洲区自拍偷拍| 激情久久一区| 国产日韩中文字幕在线| 手机福利小视频在线播放| 中文字幕在线免费不卡| 久久精品无码中文字幕| yiren22亚洲综合| 亚洲国产精品久久久久久| 亚洲AV成人无码网站天堂久久| 亚洲激情专区| 亚洲va欧美va在线观看| 国产精品免费观看| 午夜精品成人在线| 精品人妻一区二区乱码| 成人羞羞网站入口免费| 91av在线免费观看视频| 亚洲av永久无码国产精品久久| 国产欧美日韩久久| 少妇高潮毛片色欲ava片| 麻豆精品一区| 久久精品成人欧美大片| 久久免费激情视频| 国产乱人伦精品一区二区在线观看 | 日韩毛片中文字幕| 久久精品久久精品久久| 六月丁香综合在线视频| 欧美日韩亚洲一区二区三区四区| 女囚岛在线观看| 91精品国产综合久久婷婷香蕉 | 91亚洲精品一区二区乱码| 亚洲黄色网址在线观看| 视频精品导航| 亚洲欧美另类人妖| 在线观看亚洲天堂| 成人黄色av网站在线| av在线com| 亚洲资源在线| 日韩日本欧美亚洲| 亚洲一线在线观看| 国产精品久久久久久久岛一牛影视 | 日韩av成人| 亚洲成人激情自拍| 91超薄肉色丝袜交足高跟凉鞋| 在线一区电影| 亚洲最大成人在线| 四虎av在线| 日韩精品中文字幕在线不卡尤物| 网爆门在线观看| 麻豆freexxxx性91精品| 在线国产伦理一区| 91精品视频一区二区| xvideos亚洲人网站| 国产乱色精品成人免费视频| 亚洲人成亚洲人成在线观看图片 | 91高清视频免费看| 手机看片日韩av| 美女爽到高潮91| 国产精品无码乱伦| 免费精品一区| 国内精品一区二区三区| 全色精品综合影院| 精品视频123区在线观看| 国产jizz18女人高潮| 精品亚洲欧美一区| 青青草视频国产| 国内露脸中年夫妇交换精品| 欧美国产一区二区三区| 少妇荡乳情欲办公室456视频| 精品日韩中文字幕| 欧美亚洲色综久久精品国产| 精品一区二区三区影院在线午夜| 国产精品一区在线免费观看| 国产精品一区二区中文字幕| 日本成人黄色片| 亚洲AV第二区国产精品| 欧美性欧美巨大黑白大战| 国产喷水在线观看| 丁香桃色午夜亚洲一区二区三区| 国产成人无码精品久久久性色| 精品欧美激情在线观看| 成人黄色片网站| 日本无删减在线| 国产亚洲精品91在线| 国产理论视频在线观看| 亚洲第一福利视频在线| 久久久久久久久久久久久久久| 久久se这里有精品| 奇米影视亚洲色图| 成人写真视频| 国产一区二区三区奇米久涩| 电影亚洲一区| 欧美高清自拍一区| jizz日韩| 亚洲国内高清视频| 亚洲一级特黄毛片| 婷婷夜色潮精品综合在线| a级黄色免费视频| av一区二区三区在线| 日本黄大片一区二区三区| 亚洲国产一区二区精品专区| 亚洲午夜在线观看| 日韩极品在线| 成人午夜电影免费在线观看| 国产精品传媒麻豆hd| 午夜精品福利电影| 菠萝蜜视频国产在线播放| 亚洲欧美国产制服动漫| 亚洲AV无码精品自拍| 欧美三区免费完整视频在线观看| 国产主播在线观看| 亚洲私人黄色宅男| 国产精品300页| 国产不卡高清在线观看视频| 天天干天天操天天玩| 国产精品呻吟| 国产av人人夜夜澡人人爽麻豆| 国产成人ay| 国产福利一区二区三区在线观看| 国产一区二区三区四区五区3d| 国自产精品手机在线观看视频| 国产欧美黑人| 亚洲欧美中文字幕| 国产黄色片av| 在线电影一区二区三区| 波多野结衣高清视频| 狠狠色狠狠色综合日日小说| 欧美日韩精品在线观看视频| 国产精品超碰97尤物18| 日韩中文字幕有码| 91麻豆产精品久久久久久| 污网站免费观看| 国产91丝袜在线18| 国产成人av片| 国产精品亚洲视频| 手机看片国产精品| 国产一区亚洲一区| 在线一区二区不卡| 国产一区二区在线视频| 视频免费1区二区三区| 蜜臀av性久久久久av蜜臀妖精| 欧美精品无码一区二区三区| 欧美视频在线观看| 亚洲天堂av免费在线观看| 婷婷综合久久| 51xx午夜影福利| 中文字幕乱码亚洲无线精品一区| 99久久久无码国产精品性色戒| 午夜片欧美伦| 日本一道在线观看| 亚洲视频福利| 日韩欧美不卡在线| 99精品视频免费| 国产99久久九九精品无码| 国产日韩视频| 99精品人妻少妇一区二区| 亚洲在线黄色| 欧美一级黄色影院| 激情五月婷婷综合| 在线播放免费视频| 国产在线精品一区在线观看麻豆| 99999精品| av电影天堂一区二区在线观看| 日本黄色网址大全| 国产欧美日韩三区| 侵犯稚嫩小箩莉h文系列小说| 国产精品美女久久久久高潮| 中文乱码字幕高清一区二区| 国产精品二三区| 久草网在线观看| 精品动漫一区二区三区| 免费观看日批视频| 717成人午夜免费福利电影| 国内老熟妇对白hdxxxx| 亚洲黄色www| 91高清在线| 欧美日韩成人在线播放| 免费成人在线电影| 国产精品日韩欧美大师| 亚洲精品一区二区三区在线| 精品久久sese| 国产精品片aa在线观看| av磁力番号网| 国产亚洲在线观看| 亚洲图色中文字幕| 99re这里都是精品| 在线日韩国产网站| 岛国av一区二区在线在线观看| 中文在线观看免费高清| 精品国产乱码久久久久久图片| 裸体xxxx视频在线| 欧美成人精品h版在线观看| 日本在线啊啊| 国产日韩欧美成人| 粉嫩av一区二区| 在线亚洲美日韩| 国产亚洲精品自拍| 香蕉视频色在线观看| 久久免费电影网| 男女免费视频网站| 欧美日韩国产高清一区二区| 五月激情丁香婷婷| 欧美大尺度在线观看| 欧美大片1688网站| 久久久久成人精品免费播放动漫| 亚洲v在线看| 99视频精品免费| 99久久伊人精品| 欧美黑人猛猛猛| 欧美欧美欧美欧美首页| 四虎影视精品成人| 性视频1819p久久| 欧美日韩黄网站| 一区二区三区四区欧美日韩| 久久黄色影院| 色综合久久久无码中文字幕波多| 久久精品视频免费观看| 九九热国产视频| 欧美一区二区福利在线| av在线电影网| 欧洲亚洲在线视频| 国产精品99久久免费观看| 福利网在线观看| 精彩视频一区二区| 女人裸体性做爰全过| 色久综合一二码| 头脑特工队2在线播放| 欧美老女人性生活| 久久人体av| 免费国产在线精品一区二区三区| 极品尤物久久久av免费看| 国产九九九视频| 亚洲人成影院在线观看| 怡春院在线视频| 色老头一区二区三区| 国产精品久久久久77777丨| 日韩精品不卡| 日本不卡视频在线| 亚洲午夜精品久久久久久高潮| 91成人在线精品| 久久精品国产亚洲a∨麻豆| 2025国产精品视频| 国模私拍视频在线播放| av一区和二区| 夜夜嗨av一区二区三区网站四季av| 成人性生活免费看| 色先锋aa成人| 免费观看在线午夜影视| 99久久精品免费看国产四区| 亚洲久久在线| 亚洲欧美va天堂人熟伦 | 人妻精品一区二区三区| 日本国产精品视频| 色中色综合网| 色综合久久久无码中文字幕波多| 精品人伦一区二区三区蜜桃网站 | 窝窝社区一区二区| www.色偷偷.com| 亚洲男人的天堂在线观看| 天天色棕合合合合合合合| 国产精品久久久久久久久久免费| 久久精品亚洲人成影院| 免费看黄色aaaaaa 片| 欧美日韩中文另类| 男人天堂亚洲| 欧洲视频一区二区三区| 国产在线播放一区二区三区| 欧美一级特黄视频| 久久久久999| 偷拍亚洲精品| 欧美精品 - 色网| 欧美性猛交xxxx黑人猛交| 国产在线一区二区视频| 久久99久久99精品蜜柚传媒| 精品一区二区国语对白| 天天操中文字幕| 最近免费中文字幕视频2019| 国产精东传媒成人av电影| 自拍偷拍一区二区三区四区| 欧美日韩日本国产| 二区三区四区高清视频在线观看| 欧美凹凸一区二区三区视频| 国产一区高清在线| www.日韩一区| 91av在线网站|