KKFileView 实现在线预览文件

KKFileView使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。

项目特性:

  1. 支持word excel ppt,pdf等办公文档
  2. 支持txt,java,php,py,md,js,css等所有纯文本
  3. 支持zip,rar,jar,tar,gzip等压缩包
  4. 支持jpg,jpeg,png,gif等图片预览(翻转,缩放,镜像)
  5. 支持mp3,mp4,flv等多媒体文件预览
  6. 使用spring boot开发,预览服务搭建部署非常简便
  7. rest接口提供服务,跨平台特性(java,php,python,go,php,…)都支持,应用接入简单方便
  8. 支持普通http/https文件下载url、http/https文件下载流url、ftp下载url等多种预览源
  9. 提供zip,tar.gz发行包,提供一键启动脚本和丰富的配置项,方便部署使用
  10. 提供Docker镜像发行包,方便在容器环境部署
  11. 抽象预览服务接口,方便二次开发,非常方便添加其他类型文件预览支持
  12. 最最重要Apache协议开源,代码pull下来想干嘛就干嘛

官网地址: KKFileView

本次教程使用Centos搭建KKFileView实现在线预览各种附件的功能。

1 搭建

1 去官网下载kkFileView-2.2.1.tar.gz

2 上传至linux服务器内后解压运行即可(ps:会联网下载安装openOffice,如果服务器没网,则需要先手动安装后修改配文件)

3 由于linux服务器大多没有安装中文字体,所以生成的文档会出现中文乱码的问题,因此我们需要在linux内安装中文字体,具体操作如下:

下载 :fonts.zip后放入 /usr/share/fonts下解压,然后执行 mkfontscale 、mkfontdir 、fc-cache三个命令,如果没有这3个命令需要yum安装(ps 听说改完字体后需要服务器重启后才会生效)

yum install mkfontscale
yum install fontconfig

如果重启后没有生效,把/usr/share/fonts 下面的字体文件改为可执行 chmod 755 *.ttf
然后再mkfontscale mkfontdir, fc-cahce reboot重启

2 使用

首先要实现预览功能,后端肯定要有一个文件下载的接口

@ApiOperation("下载在线附件接口")
@GetMapping("/watch/{fileId}/{fileName}") 
//filename虽然在在里没有用到,当必须要有,因为kkfile通过fileName判断文件类型进而转换文件的
//filename的格式示例:aa.doc, aa.html, aa.txt, aa.pdf .....
public void watch(@ApiParam("文件id")@PathVariable String fileId, HttpServletResponse response) throws IOException {
    
    
    systemFileController.downloadFile(fileId,response);
}

3通过访问kkFileView实现文件在线预览:

扫描二维码关注公众号,回复: 12619126 查看本文章

http://ip:port/onlinePreview?url=http://192.168.1.134:9746/watch/297446455118008320/test.docx&watermarkTxt=要添加的水印

目前暂时只研究到这里,后面会继续补充。

猜你喜欢

转载自blog.csdn.net/dndndnnffj/article/details/112000034