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

这样就可以了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

会说法语的猪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值