Appearance
jpwise-file-preview 文档本地预览
采用kkFileView
文件文档在线预览解决方案,使用主流的Spring Boot
搭建,易上手和部署,基本支持主流办公文档的在线预览,如 doc,docx,xls,xlsx,ppt,pptx,pdf,txt,zip,rar,图片,视频,音频等等
1 部署指南
1.1 环境要求
- JDK17
- LiberOffice(Windows 下已内置,CentOS 或 Ubuntu 下会自动下载安装,MacOS 下需要自行安装)
2 部署运行
2.1 开发环境
- a.IDEA 导入项目
- b.调整配置,打开
server/src/main/config/application.properties
- c.启动项目,
server/src/main/java/cn/keking/ServerMain
- d.打开
http://localhost:30090
测试页面
2.2 测试生产环境
a.打包,打开
\server\target
主要有以下几个文件- kkFileView-xxx.jar(一般用于更新)
- kkFileView-xxx.zip(windows 环境下首次部署)
- kkFileView-xxx.tar.gz(Linux 环境下首次部署)
b.上传至服务器
- 打开解压后文件夹的 bin 目录,运行 startup 脚本(首次部署,之后更新及维护都在 bin 目录下)
修改文件预览配置文件如下两项,打开服务器上的
kkFileView-xxx/configapplication.properties
yamlserver.servlet.context-path= ${KK_CONTEXT_PATH:/FileServer} base.url =https://xxx.com/FileServer
3 使用指南
3.1 单文件预览
remark
// 要预览文件的访问地址
let previewUrl = 'http://127.0.0.1:8080/file/test.txt'
// 使用
http://127.0.0.1:30090/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl))
3.2 http/https 下载流 url 预览
remark
// 要预览文件的访问地址
let previewUrl = 'http://127.0.0.1:8080/filedownload?fileId=1'
// 使用
http://127.0.0.1:30090/onlinePreview?url='+encodeURIComponent(Base64.encode(previewUrl))
3.3 更多参考官方文档(https://kkfileview.keking.cn/zh-cn/docs/usage.html
)
4 常见问题
4.1 预览乱码(字体问题)
大部分 Linux 系统上并没有预装中文字体或字体不全,需要把常用字体拷贝到 Linux 服务器上,具体操作如下: 下载如下字体包http://kkfileview.keking.cn/fonts.zip
文件解压完整拷贝到 Linux 下的/usr/share/fonts
目录。然后依次执行mkfontscale
、mkfontdir
、fc-cache
使字体生效
特别说明:安装字体前确保 Linux 服务器已安装 mkfontscale、fontconfig,如未安装运行以下命令
CentOS 运行如下命令
bash
# 使mkfontscale和mkfontdir命令正常运行
yum install mkfontscale
# 使fc-cache命令正常运行
yum install fontconfig
Ubuntu 运行如下命令
bash
# 使mkfontscale和mkfontdir命令正常运行
sudo apt-get install ttf-mscorefonts-installer
# 使fc-cache命令正常运行
sudo apt-get install fontconfig