SpringBoot中整合JodConverter實(shí)現(xiàn)文件在線預(yù)覽功能
Spring Boot中整合JodConverter實(shí)現(xiàn)文件在線預(yù)覽
1.安裝LibreOffice 24.2
LibreOffice 是一款功能強(qiáng)大的辦公軟件,默認(rèn)使用開(kāi)放文檔格式 (OpenDocument Format , ODF), 并支持 *.docx, *.xlsx, *.pptx 等其他格式。
它包含了 Writer, Calc, Impress, Draw, Base 以及 Math 等組件,可用于處理文本文檔、電子表格、演示文稿、繪圖以及公式編輯。
它可以運(yùn)行于 Windows, GNU/Linux 以及 macOS 等操作系統(tǒng)上,并具有一致的用戶體驗(yàn)。
2.Maven依賴(lài)
<!--文件預(yù)覽--> <!--轉(zhuǎn)換工具--> <dependency> <groupId>org.jodconverter</groupId> <artifactId>jodconverter-spring-boot-starter</artifactId> <version>4.4.2</version> </dependency> <dependency> <groupId>org.jodconverter</groupId> <artifactId>jodconverter-local</artifactId> <version>4.4.2</version> </dependency> <dependency> <groupId>org.jodconverter</groupId> <artifactId>jodconverter-core</artifactId> <version>4.4.2</version> </dependency>
3.配置文件
jodconverter: local: # 是否開(kāi)啟緩存 enabled: true # libreOffice根目錄 officeHome: C:\Program Files\LibreOffice # 任務(wù)執(zhí)行的超時(shí)時(shí)間 taskExecutionTimeout: 86400000 # 任務(wù)隊(duì)列的超時(shí)時(shí)間 taskQueueTimeout: 86400000 # 端口(線程) portNumbers: [2001,2002,2003] # 一個(gè)進(jìn)程的超時(shí)時(shí)間 processTimeout: 86400000
4.編寫(xiě)業(yè)務(wù)Controller
@Autowired private DocumentConverter documentConverter; @GetMapping(value = "/onlinePreview") public void onlinePreview() { File source = new File("D:\\aaa.xls"); File target = new File("D:\\測(cè)試.html"); try { // source:源文件,target:轉(zhuǎn)換后的文件 // word-->pdf // ppt-->pdf // excel-->html documentConverter.convert(source).to(target).as(DefaultDocumentFormatRegistry.HTML).execute(); } catch (OfficeException e) { e.printStackTrace(); } }
以上就是SpringBoot中整合JodConverter實(shí)現(xiàn)文件在線預(yù)覽功能的詳細(xì)內(nèi)容,更多關(guān)于SpringBoot JodConverter文件在線預(yù)覽的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Google Kaptcha 框架實(shí)現(xiàn)登錄驗(yàn)證碼功能(SSM 和 SpringBoot)
這篇文章主要介紹了Google Kaptcha 實(shí)現(xiàn)登錄驗(yàn)證碼(SSM 和 SpringBoot)功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-12-12使用Java后臺(tái)實(shí)現(xiàn)彈出框頁(yè)面的代碼案例
在現(xiàn)代Web應(yīng)用中,彈出框(Modal)是一個(gè)常見(jiàn)且重要的UI組件,通過(guò)彈出框,我們可以實(shí)現(xiàn)用戶交互、表單提交、信息提示等功能,本篇博客將詳細(xì)介紹如何使用Java后臺(tái)實(shí)現(xiàn)彈出框頁(yè)面,并展示具體的代碼案例和運(yùn)行效果,需要的朋友可以參考下2024-08-08解析Flink內(nèi)核原理與實(shí)現(xiàn)核心抽象
Flink API提供了開(kāi)發(fā)的接口,此外,為了實(shí)現(xiàn)業(yè)務(wù)邏輯,還必須為開(kāi)發(fā)者提供自定義業(yè)務(wù)邏輯的能力,下面為大家解析Flink內(nèi)核原理與實(shí)現(xiàn)核心抽象2021-08-08教你使用Java實(shí)現(xiàn)掃雷小游戲(最新完整版)
本文給大家介紹使用Java實(shí)現(xiàn)掃雷小游戲,本程序封裝了五個(gè)類(lèi),分別是主類(lèi)GameWin類(lèi),繪制底層地圖和繪制頂層地圖的類(lèi)MapBottom類(lèi)和MapTop類(lèi),繪制底層數(shù)字的類(lèi)BottomNum類(lèi),以及初始化地雷的BottomRay類(lèi)和工具GameUtil類(lèi),用于存靜態(tài)參數(shù)和方法,感興趣的朋友一起看看吧2022-05-05springboot如何從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),用echarts顯示(數(shù)據(jù)可視化)
這篇文章主要介紹了springboot如何從數(shù)據(jù)庫(kù)獲取數(shù)據(jù),用echarts顯示(數(shù)據(jù)可視化),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-12-12SpringBoot Devtools實(shí)現(xiàn)項(xiàng)目熱部署的方法示例
這篇文章主要介紹了SpringBoot Devtools實(shí)現(xiàn)項(xiàng)目熱部署的方法示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01SpringBoot參數(shù)驗(yàn)證的幾種方式小結(jié)
在日常的接口開(kāi)發(fā)中,為了防止非法參數(shù)對(duì)業(yè)務(wù)造成影響,經(jīng)常需要對(duì)接口的參數(shù)進(jìn)行校驗(yàn),例如登錄的時(shí)候需要校驗(yàn)用戶名和密碼是否為空,所以本文介紹了SpringBoot參數(shù)驗(yàn)證的幾種方式,需要的朋友可以參考下2024-07-07