kkfileview預覽Excel文件去掉左上角的跳轉HTML預覽、打印按鈕

上篇說了使用nginx代理kkfile預覽文件,但是又發現個新問題,預覽其他文件時都正常,但是預覽.xlsx格式的時候,在左上角會有【跳轉HTML預覽】【打印】兩個按鈕,如下所示:

這篇就來說一下如何去掉。

首先這個跟kkfile的版本有關系,別管哪個版本,下面的方法都試一下即可,最后有個終極方案,實在不行就使用終極方案。

嘗試方案:通過 URL 參數控制顯示行為

KKFileView 支持通過 URL 參數來自定義預覽界面的顯示行為。雖然官方文檔可能不完善,但根據社區實踐和源碼分析,你可以嘗試以下參數來隱藏工具欄或特定按鈕

方法一:使用?office.viewState=hide?參數(推薦嘗試)

這是 KKFileView 支持的一個隱藏參數,用于控制預覽界面的顯示狀態。

修改你的預覽 URL,加入:

&office.viewState=hide

完整示例:

http://kkfile-server:8012/onlinePreview?url=http://file-server/test.xlsx&office.viewState=hide

或者在kkfile的配置文件application.properties中:

改完保存之后,記得重啟一下kkfile服務。

這個參數的作用是隱藏工具欄和操作按鈕,進入“純凈查看模式”。

? 注意:該參數在某些版本的 KKFileView 中有效(尤其是基于 Vue 或 React 重構的前端),但不是所有版本都支持。

方法二:使用?showMenu=false?或?showToolbar=false

嘗試以下參數組合:

&showMenu=false&showToolbar=false

完整 URL 示例:

http://kkfile-server:8012/onlinePreview?url=http://file-server/test.xlsx&showMenu=false&showToolbar=false

這些參數會告訴前端不要顯示菜單和工具欄。

方法三:使用?previewType=embed?或類似參數(嵌入模式)

有些部署會支持嵌入式預覽模式,減少 UI 元素:

&previewType=embed

或者

&view=embed

終極方案:修改kkfileview服務端的前端代碼

接下來就以我的例子來講了哈,因為我們修改kkfileview jar包中的代碼,所以需要先解壓jar包

第一步:首先進入到kkFileView的服務中,找到.jar包的目錄(/opt/kkfileview/kkFileView-4.4.0/bin/下)

以上是我的目錄。

第二步:備份kkFileView-4.4.0.jar

// 換成自己的文件名
cp -r kkFileView-4.4.0.jar ./kkFileView-4.4.0.jar.bak

以上目錄可以看到,我已經備份過了。

第三步:創建kkfileview-unpacked文件夾用于存放解壓后的jar包

mkdir kkfileview-unpacked

第四步:解壓jar包

注意:要先進入剛創建的 kkfileview-unpacked 目錄中,然后執行:

jar -xf ../kkFileView-4.4.0.jar

解壓完之后就可以看到如下目錄中的文件:

第五步:修改kkfileview服務中的前端代碼:

首先進入:cd BOOT-INF/classes/web/

然后看一下下面的文件:

officeweb.ftl比較像奧,就是它!!!

然后我們可以先看一下改文件:

這里就是我們要找的那兩個按鈕,給它干掉即可,然后保存

第六步:刪除原來的jar包

回到我們的/opt/kkfileview/kkFileView-4.4.0/bin/ 下? 執行:

rm -rf kkFileView-4.4.0.jar

第六步:重新打jar包

然后再回到我們的 kkfileview-unpacked 目錄下,執行如下命令打jar包:

jar -cfm0 ../kkFileView-4.4.0.jar META-INF/MANIFEST.MF .

注意:上面的 -cfm0 中的0很重要,一開始沒加0啟動不起來

第七步:重新啟動kkfileview

可以通過

lsof -i :8012或者 ps -elf | grep kkfile

找到當前正在啟動的kkfileview進程,然后kill干掉它

再執行

./shutdown.sh./startup.sh

這樣就可以了

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/94072.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/94072.shtml
英文地址,請注明出處:http://en.pswp.cn/web/94072.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

阿里開源新AI code工具:qoder功能介紹

下載地址: https://qoder.com/ 文檔地址: https://docs.qoder.com/ 文章目錄1. AI 編碼發展趨勢2. 真實世界軟件開發的挑戰3. 我們的方法3.1. 透明度3.1.1. 知識可見性3.1.2. 執行透明度3.2. 增強上下文工程3.3. 規范驅動與任務委托3.3.1. 聊天模式&…

什么是短視頻矩陣系統企業立項功能源碼開發,支持OEM

短視頻矩陣系統企業立項功能源碼開發解析在短視頻行業蓬勃發展的當下,企業紛紛布局短視頻矩陣,以實現多平臺、多賬號的協同運營。而企業立項作為短視頻矩陣項目啟動的關鍵環節,其高效、規范的管理直接影響項目的推進效率與成果。為此&#xf…

當GitHub宕機時,我們如何協作?

問題背景與影響 GitHub作為主流代碼托管平臺的依賴現狀宕機對分布式團隊、CI/CD流水線、緊急修復的影響案例其他類似平臺(GitLab、Bitbucket)的潛在連帶風險 本地與離線協作方案 利用Git分布式特性:本地倉庫繼續提交,恢復后同步搭…

【會議跟蹤】Model-Based Systems Engineering (MBSE) in Practice 2025

會議主旨與議題 會議宣傳鏈接:https://www.sei.cmu.edu/events/mbse-in-practice/ 本次會議將于2025年8月21日位美國弗吉尼亞州阿靈頓(五角大樓所在地)舉行。本次會議主旨為 MBSE in Practice: Bridging the Gap Between Theory and Success(2025)。隨著軟件定義系統日趨…

瀏覽器的渲染流程:從 HTML 到屏幕顯示

在我們日常使用瀏覽器瀏覽網頁時,往往忽略了瀏覽器背后復雜的渲染過程。從輸入 URL 到頁面最終顯示在屏幕上,瀏覽器需要經過一系列精心設計的步驟。 瀏覽器渲染的整體流程瀏覽器的渲染流程可以大致分為兩個主要部分:網絡 和 渲染。當用戶在地…

FastMCP 客戶端服務器通信示例:從入門到實戰(STDIO 傳輸)

引言 在現代分布式系統和AI應用中,模型上下文協議(MCP)扮演著重要角色,它負責協調客戶端與服務器之間的通信,尤其是在需要頻繁交互的場景中。本文將介紹如何使用FastMCP庫快速實現客戶端與服務器之間的通信&#xff0c…

寶可夢肉鴿 PC/手機雙端 多種存檔 全閃光 無限金幣 全寶可夢解鎖 免安裝中文版

網盤鏈接: 寶可夢肉鴿 免安裝中文版 名稱:寶可夢肉鴿 PC/手機雙端 多種存檔 全閃光 無限金幣 全寶可夢解鎖 免安裝中文版 描述:寶可夢肉鴿修改版是一款非常受歡迎的口袋妖怪系列,游戲擁有許多獨特的妖怪和玩法。在游戲中&#…

Linux 下的網絡編程

1、目的實現不同主機上進程間的通信。2、問題主機與主機之間在物理層面必須互聯互通。進程與進程在軟件層面必須互聯互通。IP地址:計算機的軟件地址,用來標識計算機設備。MAC地址:計算機的硬件地址(固定)。網絡的端口號…

Go語言在邊緣計算中的網絡編程實踐:從入門到精通

一、引言 在數字化浪潮席卷全球的今天,邊緣計算如同一股清流,正在重新定義我們對網絡架構的理解。想象一下,當你在自動駕駛汽車中需要毫秒級響應,或者在偏遠工廠中需要實時處理傳感器數據時,傳統的云計算模式就像是&qu…

ASPICE過程能力確定——度量框架

🚗【汽車人必看】ASPICE能力評估核心:度量框架全解析|90%工程師都搞不懂的評分規則!🔍 為什么你的ASPICE評估總卡在L2?——揭秘6大能力等級背后的評分邏輯,附提升秘籍!🔥…

機器學習在量化中的應用

一、核心應用場景在因子研究中,scikit-learn 主要解決以下幾類問題:因子預處理與標準化:StandardScaler, RobustScaler因子有效性分析:LinearRegression (IC分析)降維與因子合成:PCA, FactorAnalysis機器學習預測模型&…

RabbitMQ:消息轉化器

目錄一、基本概述二、如何處理一、基本概述 在RabbitMQ中,一般情況下傳遞字符串會被正常解析,如果傳遞的是一個Object類型或者是一個對象類型的時候,RabbitMQ會將其自動轉化為字節碼發送,這不利于我們的讀取個解析。 二、如何處…

【Protues仿真】基于AT89C52單片機的LCD液晶顯示屏顯示控制

目錄 1 LM016L液晶顯示模塊 1.1 基本參數 1.2 引腳定義 1.3硬件連接示例(AT89C52) 1.4 常用指令集(HD44780 子集) 1.5 常見問題與注意事項 1.8 結論 2 LM016L液晶顯示模塊控制電路原理圖 3 LM016L液晶顯示模塊控制程序 …

孤獨傷感視頻素材哪里找?分享熱門傷感短視頻素材資源網站

你是不是也經常在抖音上刷到很火的傷感視頻,那么傷感視頻素材都在哪里可以下載呢?作為一名從業多年的視頻剪輯師,今天就跟大家聊聊那些可以下載傷感素材高清無水印的網站,如果你也在苦苦找尋傷感素材,快來看看吧&#…

筆記本怎么才能更快散熱?

一、“物理降溫法”??? 墊高高!別讓底部 “窒息”?筆記本底部全是進風口,放床上 / 沙發上會被堵住!墊點東西拉開底部空間,高度 1-2cm。??? 給風扇 “松綁”?按「CtrlShiftEsc」打開任務管理器,點 “進程”&…

電機驅動實現插補算法之脈沖和方向接收(以stm32主控為例)

一、方案 A(推薦):編碼器模式吃脈沖(TI1 STEP,TI2 DIR) 核心思路 把定時器設為 Encoder TI1 模式:每個 STEP 上升沿計一次,在那個沿的瞬間用 TI2(DIR)的電…

[特殊字符] 潛入深淵:探索 Linux 內核源碼的奇幻之旅與生存指南

文章目錄 朋友們,敲黑板!!!(超級重要)我們今天聊點硬核的——不是普通的代碼,而是驅動了整個數字世界心跳的Linux內核源代碼!它藏在哪?就在那個傳奇倉庫:torv…

如何監控和管理微服務之間的調用關系

監控和管理微服務之間的調用關系需要結合分布式追蹤、服務依賴分析、實時監控和可視化工具,以實現對調用鏈路的可見性、問題定位和性能優化。以下是具體的實現方案和工具鏈:一、核心監控目標調用鏈路可視化:展示服務間的調用關系、方向和頻率…

3.4 縮略詞抽取

概述 縮略詞指的是一個詞或者短語的縮略形式,其通常由原詞中的一些組成部分構成,同時保持原詞的含義。縮略詞的檢測與抽取在方法上與同義詞的檢測與抽取類似,但是相比同義詞,縮略詞在文本中出現的規則往往更簡單。 不同語言縮略詞…

Lua腳本如何執行主程序的C函數

Lua Call C function Lua腳本可以和C函數靈活的結合,Lua腳本作為控制語言,使用C函數來做性能計算部分。 Lua腳本的執行器有Lua 和 Luajit。 使用Lua執行器,可以通過C語言注冊C函數到Lua State, 然后Lua腳本可以調用該C函數。 使用Luajit&…