強推!一個項目實現所有文件類型的預覽功能!

来源:https://www.cnblogs.com/codechen8848/archive/2023/11/20/17843865.html
-Advertisement-
Play Games

大家好,我是 Java陳序員。 我們在工作中,經常需要與文件上傳下載進行打交道。甚至有時候要實現文件預覽功能。 如果是一兩種的文件類型,我們或許可以藉助一些插件完成工作,那麼如果是要適配各式各樣的文件類型呢? 今天,給大家介紹一個支持預覽多種文件類型的開源項目 —— kkFileView. 項目介紹 ...


大家好,我是 Java陳序員

我們在工作中,經常需要與文件上傳下載進行打交道。甚至有時候要實現文件預覽功能。

如果是一兩種的文件類型,我們或許可以藉助一些插件完成工作,那麼如果是要適配各式各樣的文件類型呢?

今天,給大家介紹一個支持預覽多種文件類型的開源項目 —— kkFileView.

項目介紹

kkFileView 是一個基於 SpringBoot 實現文檔線上預覽的開源項目,基本支持主流辦公文檔(WordPPTExcelPdf 等)的線上預覽。

項目特性:

  • 基於 SpringBoot 實現,開箱即用
  • 提供豐富的 Restful 介面服務
  • 支持 http/https/ftp/文件流等多種預覽源
  • 統一的預覽服務介面,方便二次開發
  • 支持 Docker 部署

支持多種文件類型,目前已支持:
支持的文件類型

項目地址:

https://github.com/kekingcn/kkFileView

線上體驗:

https://file.kkview.cn/

線上文檔:

https://kkfileview.keking.cn/zh-cn/docs/home.html

功能預覽

文本預覽

文本預覽不僅支持預覽 .txt,而且 .html.js.xml.json.yaml.java.py.cpp 等也是支持的!

預覽 txt

圖片預覽

支持 jpgjpegpnggif 等圖片預覽,並可以放大、縮小、旋轉圖片!

預覽圖片

Pdf 預覽

Pdf 預覽支持兩種格式

圖片模式

預覽 Pdf —— 圖片模式

PDF 格式
預覽 Pdf —— PDF 模式

Excel 預覽

預覽 Excel

Word 預覽

Word 預覽預覽有兩種模式:

  • 每頁 Word 轉為圖片預覽:Word 文件大,前臺載入整個 PPT 過慢
  • 整個 Word 文檔轉成 PPT,再預覽 PPT:內網訪問,載入 PPT

預覽 Word —— 圖片模式

預覽 Word —— PDF 模式

PPT 預覽

預覽 PPT

多媒體預覽

理論上支持所有的視頻、音頻文件,預設開啟的類型:mp3wavmp4flv,可通過配置文件指定多媒體類型

預覽視頻

壓縮包預覽

支持 ziprarjartargzip 等壓縮包。

可點擊壓縮包中的文件名,直接預覽文件!

預覽壓縮包

安裝使用

環境準備

  • Java: 1.8+
  • LibreOfficeOpenOffice(Windows 下已內置,CentOSUbuntu 下會自動下載安裝,MacOS 下需要自行安裝)

Docker 安裝

拉取鏡像:

docker pull keking/kkfileview:4.1.0

啟動運行:

docker run -it -p 8012:8012 keking/kkfileview:4.1.0

成功啟動後,訪問容器 8012http://127.0.0.1:8012.

或者使用 nginx 進行反向代理:

 server {
    listen 80;
    server_name chencoding.top; 

    location / {
        proxy_pass http://localhost:8012;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

nginx 配置成功後,瀏覽器訪問:http://ip:埠 或者 http://功能變數名稱:埠

最後

推薦的開源項目已經收錄到 GitHub 項目,歡迎 Star

https://github.com/chenyl8848/great-open-source-project

或者訪問網站,進行線上瀏覽:

https://chencoding.top:8090/#/

大家的點贊、收藏和評論都是對作者的支持,如文章對你有幫助還請點贊轉發支持下,謝謝!


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 背景 公司產品部收到了一些重要客戶的需求,他們希望能夠依賴獨立的資料庫存儲來支持他們的業務數據。與此同時,仍有許多中小客戶,可以繼續使用公共庫以滿足其需求。技術實現方面,此前持久層框架使用的Mybatis-plus,部分業務場景使用到了Sharding-JDBC用於分表,另外,我們的資料庫版本控制工 ...
  • 近年來,車輛保險成為廣大車主必須購買的一項重要保障。然而,如何查詢車輛保險狀態及保單信息卻是許多車主面臨的難題。隨著技術的不斷發展,API的出現為我們提供了一條便捷的解決之路。本文介紹的《車輛保險查詢API——查詢車輛保險狀態及保單信息》便是一款實用的API工具。 一、API的介紹 挖數據平臺車輛保 ...
  • hello,大家好!新手小白踏入 Python 的大門有點像冒險,但別擔心,我已經整理了一個超實用的入門指南,幫你規避學習過程中的十大雷區。這裡有關於 Python 的錯誤你應該註意的建議,一起來看看吧! 1. 拼寫錯誤 小心 prin 和 print 的奇妙之旅! # 錯誤示例 prin("Hel ...
  • 通俗解釋:單例模式 > 單:唯一 > > 例:實例 > > 單例設計模式,即某個類在整個系統中只能有一個實例對象可被獲取和使用的代碼模式 > > 例如:代表JVM運行環境的Runtime類 ...
  • 接上一隨筆,這次學習針對圖像數據的訪問(Numpy.array) 在OpenCV中,使用 imread() 方法可以訪問圖像,其返回值是一個數組,而根據傳入的不同圖像,將會返回不同維度的數組。 針對返回的圖像數據,即數組,我們是可以進行操作的: 1 import cv2 2 3 # MyPic.pn ...
  • 在開發過程中,如果需要在本地調用openAI介面進行開發調試,一般主要是通過以下兩種方式:直連和代理轉發。歡迎私信交流。 1. 直連 1.簡單粗暴,懂的都懂 2. 代理轉發 代理轉發又有兩種類型,使用第三方代理和自建代理兩種,下麵將分別舉例說明 2.1. 第三方AI網關 1.註冊Cloudflare ...
  • 在平時的開發過程中,整數越界是一個容易被忽視的問題,關註潛在的整數越界問題可使我們編寫的代碼更加健壯,規避因整數越界導致的 bug。 ...
  • 對PDF頁面的增刪通常需要藉助專門的工具,而這些工具一般需要付費才能使用。那麼我們可以通過Java代碼免費實現這一功能嗎?答案是肯定的。這篇文章就教大家如何使用一個免費的國產Java庫來刪除PDF中的指定頁面或者刪除PDF中的空白頁。 使用Java快速刪除PDF中的指定頁面 1. 首先,我們需要先將 ...
一周排行
    -Advertisement-
    Play Games
  • 示例項目結構 在 Visual Studio 中創建一個 WinForms 應用程式後,項目結構如下所示: MyWinFormsApp/ │ ├───Properties/ │ └───Settings.settings │ ├───bin/ │ ├───Debug/ │ └───Release/ ...
  • [STAThread] 特性用於需要與 COM 組件交互的應用程式,尤其是依賴單線程模型(如 Windows Forms 應用程式)的組件。在 STA 模式下,線程擁有自己的消息迴圈,這對於處理用戶界面和某些 COM 組件是必要的。 [STAThread] static void Main(stri ...
  • 在WinForm中使用全局異常捕獲處理 在WinForm應用程式中,全局異常捕獲是確保程式穩定性的關鍵。通過在Program類的Main方法中設置全局異常處理,可以有效地捕獲並處理未預見的異常,從而避免程式崩潰。 註冊全局異常事件 [STAThread] static void Main() { / ...
  • 前言 給大家推薦一款開源的 Winform 控制項庫,可以幫助我們開發更加美觀、漂亮的 WinForm 界面。 項目介紹 SunnyUI.NET 是一個基於 .NET Framework 4.0+、.NET 6、.NET 7 和 .NET 8 的 WinForm 開源控制項庫,同時也提供了工具類庫、擴展 ...
  • 說明 該文章是屬於OverallAuth2.0系列文章,每周更新一篇該系列文章(從0到1完成系統開發)。 該系統文章,我會儘量說的非常詳細,做到不管新手、老手都能看懂。 說明:OverallAuth2.0 是一個簡單、易懂、功能強大的許可權+可視化流程管理系統。 有興趣的朋友,請關註我吧(*^▽^*) ...
  • 一、下載安裝 1.下載git 必須先下載並安裝git,再TortoiseGit下載安裝 git安裝參考教程:https://blog.csdn.net/mukes/article/details/115693833 2.TortoiseGit下載與安裝 TortoiseGit,Git客戶端,32/6 ...
  • 前言 在項目開發過程中,理解數據結構和演算法如同掌握蓋房子的秘訣。演算法不僅能幫助我們編寫高效、優質的代碼,還能解決項目中遇到的各種難題。 給大家推薦一個支持C#的開源免費、新手友好的數據結構與演算法入門教程:Hello演算法。 項目介紹 《Hello Algo》是一本開源免費、新手友好的數據結構與演算法入門 ...
  • 1.生成單個Proto.bat內容 @rem Copyright 2016, Google Inc. @rem All rights reserved. @rem @rem Redistribution and use in source and binary forms, with or with ...
  • 一:背景 1. 講故事 前段時間有位朋友找到我,說他的窗體程式在客戶這邊出現了卡死,讓我幫忙看下怎麼回事?dump也生成了,既然有dump了那就上 windbg 分析吧。 二:WinDbg 分析 1. 為什麼會卡死 窗體程式的卡死,入口門檻很低,後續往下分析就不一定了,不管怎麼說先用 !clrsta ...
  • 前言 人工智慧時代,人臉識別技術已成為安全驗證、身份識別和用戶交互的關鍵工具。 給大家推薦一款.NET 開源提供了強大的人臉識別 API,工具不僅易於集成,還具備高效處理能力。 本文將介紹一款如何利用這些API,為我們的項目添加智能識別的亮點。 項目介紹 GitHub 上擁有 1.2k 星標的 C# ...