天天看點

KKFileView 實作線上預覽檔案

KKFileView使用流行的spring boot搭建,易上手和部署,基本支援主流辦公文檔的線上預覽,如doc,docx,Excel,pdf,txt,zip,rar,圖檔等等。

項目特性:

  1. 支援word excel ppt,pdf等辦公文檔
  2. 支援txt,java,php,py,md,js,css等所有純文字
  3. 支援zip,rar,jar,tar,gzip等壓縮包
  4. 支援jpg,jpeg,png,gif等圖檔預覽(翻轉,縮放,鏡像)
  5. 支援mp3,mp4,flv等多媒體檔案預覽
  6. 使用spring boot開發,預覽服務搭建部署非常簡便
  7. rest接口提供服務,跨平台特性(java,php,python,go,php,…)都支援,應用接入簡單友善
  8. 支援普通http/https檔案下載下傳url、http/https檔案下載下傳流url、ftp下載下傳url等多種預覽源
  9. 提供zip,tar.gz發行包,提供一鍵啟動腳本和豐富的配置項,友善部署使用
  10. 提供Docker鏡像發行包,友善在容器環境部署
  11. 抽象預覽服務接口,友善二次開發,非常友善添加其他類型檔案預覽支援
  12. 最最重要Apache協定開源,代碼pull下來想幹嘛就幹嘛

官網位址: KKFileView

本次教程使用Centos搭建KKFileView實作線上預覽各種附件的功能。

1 搭建

1 去官網下載下傳kkFileView-2.2.1.tar.gz

2 上傳至linux伺服器内後解壓運作即可(ps:會聯網下載下傳安裝openOffice,如果伺服器沒網,則需要先手動安裝後修改配檔案)

3 由于linux伺服器大多沒有安裝中文字型,是以生成的文檔會出現中文亂碼的問題,是以我們需要在linux内安裝中文字型,具體操作如下:

下載下傳 :fonts.zip後放入 /usr/share/fonts下解壓,然後執行 mkfontscale 、mkfontdir 、fc-cache三個指令,如果沒有這3個指令需要yum安裝(ps 聽說改完字型後需要伺服器重新開機後才會生效)

yum install mkfontscale
yum install fontconfig
           

如果重新開機後沒有生效,把/usr/share/fonts 下面的字型檔案改為可執行

chmod 755 *.ttf

然後再

mkfontscale

mkfontdir

,

fc-cahce

reboot

重新開機

2 使用

首先要實作預覽功能,後端肯定要有一個檔案下載下傳的接口

@ApiOperation("下載下傳線上附件接口")
@GetMapping("/watch/{fileId}/{fileName}") 
//filename雖然在在裡沒有用到,當必須要有,因為kkfile通過fileName判斷檔案類型進而轉換檔案的
//filename的格式示例:aa.doc, aa.html, aa.txt, aa.pdf .....
public void watch(@ApiParam("檔案id")@PathVariable String fileId, HttpServletResponse response) throws IOException {
    systemFileController.downloadFile(fileId,response);
}
           

3通過通路kkFileView實作檔案線上預覽:

http://ip:port/onlinePreview?url=http://192.168.1.134:9746/watch/297446455118008320/test.docx&watermarkTxt=要添加的水印

目前暫時隻研究到這裡,後面會繼續補充。

繼續閱讀