1

开源文档预览项目 kkFileView (9.9k star) ,快速入门 - 勇哥编程游记

 4 months ago
source link: https://www.cnblogs.com/makemylife/p/18169801
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。

该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。

2487169-20240501231735919-1546882091.png

1 Docker 部署

  • 拉取镜像:
# 网络环境方便访问docker中央仓库
docker pull keking/kkfileview:4.1.0

# 网络环境不方便访问docker中央仓库
wget https://kkview.cn/resource/kkFileView-4.1.0-docker.tar
docker load -i kkFileView-4.1.0-docker.tar
docker run -it -p 8012:8012 keking/kkfileview:4.1.0

浏览器访问容器 8012 端口 http://127.0.0.1:8012 即可看到项目演示用首页。

2 项目接入

2487169-20240501231738862-1876528620.png

上传一个文件之后,点击预览,即可查看该文件预览效果。

2487169-20240501231740222-1432839491.png

项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的 url ,示例如下:

  1. 引入 js 文件
<script type="text/javascript"  src="https://cdn.jsdelivr.net/npm/[email protected]/base64.min.js"></script>
window.open('http://127.0.0.1:8012/onlinePreview?url='+ encodeURIComponent( Base64.encode(url) ) );

3 Mac 本地调试 & 打包

本节我们介绍如何使用 Mac 电脑本地调试 ,以及根据配置按照 windows/Linux 打对应的部署包。

从 Github 上下载 kkFileView :

git clone [email protected]:kekingcn/kkFileView.git

kkFileView 强依赖两点:

  1. Java 1.8+
  2. LibreOffice 或 OpenOffice ( Windows下已内置,CentOS 或 Ubuntu 下会自动下载安装,MacOS 下需要自行安装)

所以 Mac 本地调试需要先安装 LibreOffice ,进入 LibreOffice 首页,下载对应 Mac 版本即可。

2487169-20240501231739273-1086541664.png

当我们通过 IDEA 打开 ,进入 Server 模块,执行 ServerMain 类 :

2487169-20240501231732958-216625077.png

启动日志如下:

2487169-20240501231739023-1933921761.png

从日志我们看到:kkFileView 会启动两个 LibreOffice 进程,每个进程有独立的端口。

当我们执行 maven 的 package 命令, 根据配置 windows/Linux 打对应的部署包。

2487169-20240501231737023-1363719390.png

4 Linux 环境部署

我们将打包好的 kkFileView Linux 部署包,上传到部署目录,分别执行:

# 解压缩
tar -zxvf kkFileView-4.4.0-SNAPSHOT.tar.gz

# 进入 bin 目录
cd bin

# 启动 
./startup.sh

备注: Linux 环境首次启动会自动安装 LibreOffice 默认安装 7.5 版本。

我们也可以手工安装 LibreOffice。

#将 LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz上传到 home 目录下
cd /home
tar -zxvf LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz
cd LibreOffice_7.5.3.2_Linux_x86-64_rpm/RPMS/
yum -y localinstall *.rpm

手工安装完成后,可以通过如下的命令验证是否正确:

libreoffice7.5 --version

启动 kkFileView 并不意味着配置的结束,因为还需要最后一步:安装字体

1、下载字体

wget http://kkfileview.keking.cn/fonts.zip

2、上传到 /usr/share/fonts , 并解压缩

unzip fonts.zip

3、刷新字体索引

mkfontscale
mkfontdir
fc-cache

当我们在本地调试或者 Linux 服务器执行预览效果时,我们发现 PPT 文档文件会转换成图片的格式,比如下图:

2487169-20240501231738249-1646831542.png

kkFileView 本质是将文档文件转换为特定的展示文件,是一个小型的转码系统。而且转码后的文件存储都是单机模式,假如需要分布式部署,可能还是会有性能瓶颈。

最后,kkFileView 相关安装包,也可以关注勇哥的公众号,回复“kk” , 即可获取 。

2487169-20240501231735879-290909893.png

如果我的文章对你有所帮助,还请帮忙点赞、在看、转发一下,你的支持会激励我输出更高质量的文章,非常感谢!

2487169-20240501231736399-914162388.png

About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK