kkFileView
概述
在线预览多种格式的文档,官网 。在2026年5月4日已经是5.5版本,要求 JDK21,本文档介绍使用 4.4.0 运行在 JDK8 上
编译部署
一开始根据官网的步骤,下载编译都是最新版本 5.5,要求 JDK21,和目前大多数的项目都不同,后来找到 4.4.0 版本在客户的 windows server 2019 standard 上测试通过(编译后的文件是 Y:\客户资料\showa\app\kkFileView-4.4.0.zip)。并制作了自己的 仓库,在官方源码的基础上做了如下两处修改
注释了 配置文件 中的
trust.host,允许来自所有站点的文件通过本项目预览pom.xml 追加下面代码,在编译时跳过测试用例 - 在节点
project下追加下面代码```xml <properties> <java.version>8</java.version> <maven.test.skip>true</maven.test.skip> </properties> ```应用在
showa项目中需要修改前端代码,在采购申请单据页面表格点击附件后弹出的附件模态窗相关代码如下,点击文件名后会新增一个浏览器标签页预览文件,下面采用了kkFileView原始访问地址,没有使用nginx做反向代理
function getEncodedUrl(url){
var base64Str = btoa(url);// 若 url 含非 ASCII,需先 encodeURIComponent
return encodeURIComponent(base64Str);
}
// 直接访问 springboot 后台提供的文件地址:
// http://127.0.0.1/showabe/purchase/6e04b82fcd8d48c0a45680c4b74f4dbb.pdf
// 下面变量 row.extension = 6e04b82fcd8d48c0a45680c4b74f4dbb.pdf
const fileUrl = getEncodedUrl("http://127.0.0.1/showabe/purchase/" + row.extension);
const previewUrl = 'http://127.0.0.1:8012/onlinePreview?url=' + fileUrl;
return `<a href="${previewUrl}" target="_blank" download="${row.filename_original}">${value}</a>`;
之后可以通过 IDEA 中的 maven 编译项目,成功编译后在 路径 下会生成 windows部署文件 和 linux部署文件,注意不是用同目录下的 jar文件 ,要使用前面两个压缩包文件,在目标服务器上解压后出现下面多个目录 bin,config,file,LibreOfficePortable,log,运行文件 ./bin/startup.bat 启动项目,然后访问 http://localhost:8012,之后就可以复制网络文件地址到本项目首页用于预览的文本框中点击 预览 按钮进行预览。
测试成功的编译后的压缩包在 Y:\客户资料\showa\app\kkFileView-4.4.0.zip
