KKFileView使用流行的spring boot搭建,易上手和部署,基本支援主流辦公文檔的線上預覽,如doc,docx,Excel,pdf,txt,zip,rar,圖檔等等。
項目特性:
- 支援word excel ppt,pdf等辦公文檔
- 支援txt,java,php,py,md,js,css等所有純文字
- 支援zip,rar,jar,tar,gzip等壓縮包
- 支援jpg,jpeg,png,gif等圖檔預覽(翻轉,縮放,鏡像)
- 支援mp3,mp4,flv等多媒體檔案預覽
- 使用spring boot開發,預覽服務搭建部署非常簡便
- rest接口提供服務,跨平台特性(java,php,python,go,php,…)都支援,應用接入簡單友善
- 支援普通http/https檔案下載下傳url、http/https檔案下載下傳流url、ftp下載下傳url等多種預覽源
- 提供zip,tar.gz發行包,提供一鍵啟動腳本和豐富的配置項,友善部署使用
- 提供Docker鏡像發行包,友善在容器環境部署
- 抽象預覽服務接口,友善二次開發,非常友善添加其他類型檔案預覽支援
- 最最重要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=要添加的水印
目前暫時隻研究到這裡,後面會繼續補充。