kk文件視圖
介紹
文件線上預覽專案解決方案,使用流行的 Spring Boot 框架構建,可輕鬆設定和部署。這個多功能的開源專案為各種文件格式提供基本支持,包括:
- 支援 Office 文檔,如
doc
、 docx
、 xls
、 xlsx
、 xlsm
、 ppt
、 pptx
、 csv
、 tsv
、 、 dotm
、 xlt
、 xltm
、 dot
、 xlam
、 dotx
、 xla,
、 pages
等。 - 支援
wps
、 dps
、 et
、 ett
、 wpt
等國內WPS Office文件。 - 支援 OpenOffice、LibreOffice 辦公室文檔,如
odt
、 ods
、 ots
、 odp
、 otp
、 six
、 ott
、 fodt
和fods
。 - 支援
vsd
、 vsdx
等 Visio 流程圖檔。 - 支援
wmf
、 emf
等Windows系統鏡像檔。 - 支援
psd
、 eps
等Photoshop軟體模型檔。 - 支援
pdf
、 ofd
和rtf
等文檔格式。 - 支援
xmind
等軟體模型檔。 - 支援
bpmn
工作流程文件。 - 支援
eml
郵件文件 - 支援
epub
圖書文檔 - 支援
obj
、 3ds
、 stl
、 ply
、 gltf
、 glb
、 off
、 3dm
、 fbx
、 dae
、 wrl
、 3mf
、 ifc
、 brep
、 step
、 iges
、 fcstd
、 bim
等 3D 模型檔。 - 支援
dwg
、 dxf
、 dwf
iges
、 igs
、 dwt
、 dng
、 ifc
、 dwfx
、 stl
、 cf2
、 plt
等 CAD 模型檔。 - 支援所有純文字文件,如
txt
、 xml
(渲染)、 md
(渲染)、 java
、 php
、 py
、 js
、 css
等。 - 支援
zip
、 rar
、 jar
、 tar
、 gzip
、 7z
等壓縮包。 - 支援
jpg
、 jpeg
、 png
、 gif
、 bmp
、 ico
、 jfif
、 webp
等影像預覽(翻轉、縮放、鏡像)。 - 支援
tif
、 tiff
等影像資訊模型檔。 - 支援
tga
等圖像格式檔案。 - 支援向量圖像格式文件,例如
svg
。 - 支援
mp3
、 wav
、 mp4
、 flv
。 - 支援多種音訊和視訊格式文件,如
avi
、 mov
、 wmv
、 mkv
、 3gp
和rm
。 - 支持
dcm
。 - 支援
drawio
。
特徵
- 使用流行的框架彈簧靴構建
- 易於建置和部署
- 基本上支援主流辦公室文件線上預覽,如Doc、docx、Excel、PDF、TXT、zip、rar、圖片等
- 休息API
- 抽象的文件預覽介面,方便自行擴展更多的文件副檔名和開發本項目
官方網站和文檔
網址:https://kkview.cn
現場演示
請善待公共服務,否則這種情況隨時都會停止。
網址:https://file.kkview.cn
聯絡我們
我們將認真解答您的疑問並解決您在使用專案過程中遇到的任何問題。我們也懇請您在提問之前至少谷歌或百度一下,以節省時間並避免無效的溝通。讓我們珍惜自己的生命,遠離無效的溝通。
快速入門
技術堆疊
- Spring Boot: Spring Boot開發參考指南
- 自由標記
- 雷迪森
- 喬德轉換器
依賴關係
- Redis(可選,預設不需要)
- OpenOffice 或 LibreOffice(Windows 上集成,Linux 上會自動安裝,Mac OS 上需要手動安裝)
第一步: git pull https://github.com/kekingcn/kkFileView.git
第二步:執行/server/src/main/java/cn/keking/ServerMain.java
的 main 方法。啟動後請造訪http://localhost:8012/
。
變更日誌
2022年12月14日,4.1.0版本發布:
- 由@wsd7747更新了主頁設計。
- 相容多頁tif進行pdf和jpg轉換以及@zhangzhen1979的tif影像預覽的多頁線上預覽。
- 優化了 docker 構建,使用 @yl-yue 的分層構建方法。
- @yl-yue 基於 userToken 快取實現了檔案加密。
- 由 @yl-yue 實作了加密 Word、PPT 和 Excel 檔案的預覽。
- 將 Linux 和 Docker 映像升級到 LibreOffice 7.3。
- 更新了OFD預覽組件、tif預覽組件,增加了對PPT浮水印的支援。
- 許多其他升級、最佳化和錯誤修復。我們感謝@yl-yue、@wsd7747、@zhangzhen1979、@tomhusky、@shenghuadun 和@kischn.sun 貢獻的代碼。
2021年7月6日,4.0.0版本發布:
- 底層系統中OpenOffice的整合已替換為LibreOffice,從而增強了相容性並改善了Office檔案的預覽效果。
- 修復壓縮檔案中的目錄遍歷漏洞。
- 修正PDF模式下預覽PPT檔案無效的問題。
- 修正PPT檔案圖片預覽模式前端顯示異常的問題。
- 新增功能:可透過設定即時開啟或關閉首頁檔案上傳功能。
- 優化Office進程關閉的日誌記錄。
- 優化Windows環境下尋找Office元件的邏輯,內建LibreOffice優先。
- 優化啟動Office進程的同步執行。
2021年6月17日,3.6.0版本發布:
此版本包括對 OFD 文件類型版本的支持,並且該版本中的所有重要功能均由社區貢獻。我們感謝@gaoxingzaq 和@zhangxiaoxiao9527 貢獻的代碼。
- 新增了對預覽 OFD 類型文件的支援。 OFD是一種類似PDF的國產文件格式。
- 新增了透過 ffmpeg 轉碼和預覽影片檔案的支援。啟用轉碼後,理論上支援RM、RMVB、FLV等所有主流影片檔案格式進行預覽。
- 美化了PPT、PPTX檔案類型的預覽效果,比之前的版本好看很多。
- 更新了pdfbox、xstream、common-io等依賴的版本。
2021 年 1 月 28 日:
2020年農曆新年最終更新已經發布,主要包括一些UI改進、QQ群用戶反饋的Bug修復和問題,最重要的是,這是一個美好的一年的新版本。
- 引入galimatias,解決檔案名稱不標準導致檔案下載異常的問題。
- 更新了索引存取演示介面的UI風格。
- 更新了 Markdown 文件預覽的 UI 風格。
- 更新了XML檔案預覽的UI風格,調整了文字檔案預覽的架構以方便擴充。
- 更新了 simTxT 檔案預覽的 UI 風格。
- 調整多圖連續預覽的UI為上下翻轉。
- 採用 apache-common-io 套件簡化了所有檔案下載 IO 操作。
- XML檔案預覽支援切換到純文字模式。
- 增強了url base64解碼失敗時的提示訊息。
- 修復了導入錯誤和圖像預覽錯誤。
- 修復運行release包時缺少日誌目錄的問題。
- 修復了壓縮包內多張圖片連續預覽的bug。
- 修正檔案類型後綴大小寫不通用匹配的問題。
- 指定使用 Apache Commons-code 實作進行 Base64 編碼來修復某些 JDK 版本中發生的例外狀況。
- 修正了類似文字檔案的 HTML 檔案預覽的錯誤。
- 修正了預覽 dwg 檔案時無法在 jpg 和 pdf 之間切換的問題。
- 對危險字元進行轉義以防止反射 xss。
- 修復重複編碼導致文件轉影像預覽失敗的問題,規範編碼。
2020 年 12 月 27 日:
2020年年終重大更新包括全面的架構設計、完整的程式碼重構、程式碼品質顯著提升、二次開發更加便利。我們歡迎您查看原始程式碼並透過提出問題和拉取請求來為建置做出貢獻。
- 調整架構模組,大規模重構程式碼,程式碼品質提升多個等級。請隨時查看。
- 增強了XML檔案預覽效果,增加了XML文件結構的預覽。
- 新增了對 Markdown 文件預覽的支持,包括對 md 渲染以及來源文字和預覽之間切換的支援。
- 將底層Web伺服器切換到jetty,解決問題:#168
- 引入cpDetector來解決檔案編碼辨識問題。
- 對URL採用base64和urlencode雙重編碼,徹底解決檔案名稱奇怪的預覽問題。
- 新增設定項office.preview.switch.disabled控制office檔案預覽的切換。
- 優化文字檔案預覽邏輯,透過Base64傳輸內容,避免預覽時再次要求文件內容。
- 關閉office預覽模式下的圖片縮放效果,實現圖片和pdf預覽的一致體驗。
- 直接設定pdfbox相容低版本JDK,即使在IDEA中運行也不會出現警告提示。
- 刪除了 Guava 和 Hutool 等非必要工具包,以減少程式碼量。
- Office 元件的非同步載入可將應用程式啟動速度加快到 5 秒之內。
- 合理設定預覽消費隊列的執行緒數。
- 修復壓縮包內文件無法再次預覽的問題。
- 修復了圖像預覽的錯誤。
2020年5月20日:
- 支援全域浮水印以及透過參數動態改變浮水印內容
- 支援 CAD 檔案預覽
- 新增設定項base.url,支援使用nginx反向代理並設定context-path
- 所有配置項目都可以從環境變數中讀取,方便docker映像部署和叢集大規模使用
- 支援TrustHost配置(只能預覽來自信任網站的文件來源),保護預覽服務不被濫用
- 支援自訂快取清理時間配置(cron表達式)
- 所有可識別的純文字無需下載即可直接預覽,如.md .java .py等
- 支援配置限制轉換後PDF檔案下載
- 最佳化Maven打包配置,解決.sh腳本換行問題
- 將所有 CDN 依賴放在前端本地,供無外網連接的使用者使用
- 首頁評論服務由搜狐暢言切換至gitalk
- 修復了 URL 中的特殊字元可能導致的預覽異常
- 修復轉換檔佇列addtask異常
- 修復了其他已知問題
- 官方網站建置:https://kkview.cn
- 官方 docker 映像儲存庫建置:https://hub.docker.com/r/keking/kkfileview
2019年6月18日:
- 支援自動清理快取和預覽文件
- 支援http/https串流url檔案預覽
- 支援FTP url檔案預覽
- 新增 Docker 建置
2019 年 4 月 8 日
- 快取和佇列實作抽象,提供JDK和REDIS實作(REDIS成為可選依賴)
- 提供zip和tar.gz包,並提供一鍵啟動腳本
2018 年 1 月 17 日
- 精進了專案目錄,抽象檔案預覽介面,方便擴展更多檔案副檔名,自行解構專案
- 新增英文文檔(@幻幻Fate,@汝輝)貢獻
- 支援更多圖片檔案副檔名
- 修正了 zip 檔案中的映像輪播始終從第一個開始的問題
2018 年 1 月 12 日
- 支援多圖片預覽
- 支援 rar/zip 中的影像旋轉預覽
2018 年 1 月 2 日
- 修正因檔案編碼問題導致預覽txt文件亂碼的問題
- 修復部分模組依賴找不到的問題
- 新增spring boot配置文件,並支援多環境配置
- 新增
pdf.js
預覽doc等文檔,支援生成doc標題為pdf選單,支援手機預覽
贊助我們
如果這個計畫對您有幫助,我們歡迎您的贊助。您的支持是我們最大的動力!