Skip to content

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

    yaml
    server.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目录。然后依次执行mkfontscalemkfontdirfc-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

4.2 更多问题请参考官方文档说明(https://kkfileview.keking.cn/zh-cn/docs/faq.html)