kkFileView(在線預(yù)覽方案),該項(xiàng)目使用流行的spring boot搭建,易上手和部署,基本支持主流辦公文檔的在線預(yù)覽,如doc,docx,Excel,pdf,txt,zip,rar,圖片等等!
項(xiàng)目介紹
項(xiàng)目特性:
支持office,pdf, cad等辦公文檔
支持txt,java,php,py,md,js,css等所有純文本
支持zip,rar,jar,tar,gzip等壓縮包
支持jpg,jpeg,png,gif等圖片預(yù)覽(翻轉(zhuǎn),縮放,鏡像)
使用spring boot開發(fā),預(yù)覽服務(wù)搭建部署非常簡(jiǎn)便
rest接口提供服務(wù),跨平臺(tái)特性(java,php,python,go,php,....)都支持,應(yīng)用接入簡(jiǎn)單方便
抽象預(yù)覽服務(wù)接口,方便二次開發(fā),非常方便添加其他類型文件預(yù)覽支持
最最重要Apache協(xié)議開源,代碼pull下來想干嘛就干嘛
項(xiàng)目使用技術(shù):
spring boot: spring boot開發(fā)參考指南
freemarker
redisson
jodconverter
依賴外部環(huán)境:
redis (可選,默認(rèn)不用)
OpenOffice或者LibreOffice(Windows下已內(nèi)置,Linux會(huì)自動(dòng)安裝,Mac OS下需要手動(dòng)安裝)
2020年年終大版本更新,架構(gòu)全面設(shè)計(jì),代碼全面重構(gòu),代碼質(zhì)量全面提升,二次開發(fā)更便捷,歡迎拉源碼品鑒,提issue、pr共同建設(shè)。
1、架構(gòu)模塊調(diào)整,大量的代碼重構(gòu),代碼質(zhì)量提升N個(gè)等級(jí),歡迎品鑒
2、增強(qiáng)xml文件預(yù)覽效果,新增XML文檔數(shù)結(jié)構(gòu)預(yù)覽
3、新增markdown文件預(yù)覽支持,預(yù)覽支持md渲染和源文本切換支持
4、切換底層web server為jetty
5、引入cpdetector,解決文件編碼識(shí)別問題
6、url采用base64+urlencode雙編碼,徹底解決各種奇葩文件名預(yù)覽問題
7、新增配置項(xiàng)office.preview.switch.disabled,控制offic文件預(yù)覽切換開關(guān)
8、優(yōu)化文本類型文件預(yù)覽邏輯,采用Base64傳輸內(nèi)容,避免預(yù)覽時(shí)再次請(qǐng)求文件內(nèi)容
9、office預(yù)覽圖片模式禁用圖片放大效果,達(dá)到圖片和pdf預(yù)覽效果一致的體驗(yàn)
10、直接代碼靜態(tài)設(shè)置pdfbox兼容低版本jdk,在IDEA中運(yùn)行也不會(huì)有警告提示
11、移除guava、hutool等非必須的工具包,減少代碼體積
12、Office組件加載異步化,提速應(yīng)用啟動(dòng)速度最快到5秒內(nèi)
13、合理設(shè)置預(yù)覽消費(fèi)隊(duì)列的線程數(shù)
14、修復(fù)壓縮包里文件再次預(yù)覽失敗的bug
15、修復(fù)圖片預(yù)覽的bug
軟件特色
一鍵部署,快速接入
支持Windows、Linux平臺(tái)一鍵部署,兩行js代碼就可以接入預(yù)覽
支持常見文件格式,兼容新版Office文檔
支持文本、圖片、Office文檔、WPS文檔、PDF、視頻、音頻、壓縮包等常見文件類型預(yù)覽
支持多種預(yù)覽模式靈活切換
支持pdf、懶加載分頁圖、輪播圖片等預(yù)覽模式動(dòng)態(tài)配置、靈活切換
獨(dú)立部署,提供restful接口,適用于微服務(wù)場(chǎng)景
獨(dú)立于業(yè)務(wù)系統(tǒng)外,提供restful http接口,開發(fā)語言無關(guān),微服務(wù)場(chǎng)景下直接提供在線預(yù)覽服務(wù)