返回列表 发布新帖
查看: 39|回复: 5

[技术交流] 开源文档预览项目 kkFileView (9.9k star) ,快速入门

灌水成绩
46
299
850
主题
帖子
积分

等级头衔
U I D : 79
用户组 : 版主

积分成就
威望 : 63 点
贡献 : 374 点
蛋壳 : 5355 枚
在线时间 : 517 小时
注册时间 : 2024-4-13
最后登录 : 2024-5-30

荣誉勋章

最佳新人活跃会员灌水之王

联系方式
发表于 2024-5-2 01:48:47 | 查看全部 |阅读模式 来自: 上海松江区

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
本帖最后由 SanS三石 于 2024-5-2 01:56 编辑

kkFileView 是一款文件文档在线预览解决方案,采用流行的 Spring Boot 框架构建,易于上手和部署。
该项目基本支持主流办公文档的在线预览,包括但不限于 doc、docx、xls、xlsx、ppt、pptx、pdf、txt、zip、rar,以及图片、视频、音频等格式。

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


1 Docker 部署
  • 拉取镜像:
    1. <!--StartFragment--><span class="hljs-comment" style="color: rgb(0, 128, 0); font-family: &quot;Courier New&quot;, sans-serif; font-size: 15px; white-space: pre;"># 网络环境方便访问docker中央仓库</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 15px; white-space: pre; background-color: rgb(245, 245, 245);">
    2. docker pull keking/kkfileview:4.1.0

    3. </span><span class="hljs-comment" style="color: rgb(0, 128, 0); font-family: &quot;Courier New&quot;, sans-serif; font-size: 15px; white-space: pre;"># 网络环境不方便访问docker中央仓库</span><span style="color: rgb(68, 68, 68); font-family: &quot;Courier New&quot;, sans-serif; font-size: 15px; white-space: pre; background-color: rgb(245, 245, 245);">
    4. wget https://kkview.cn/resource/kkFileView-4.1.0-docker.tar
    5. docker load -i kkFileView-4.1.0-docker.tar</span><!--EndFragment-->
    复制代码

    • 运行容器
  1. docker run -it -p 8012:8012 keking/kkfileview:4.1.0
复制代码

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

2 项目接入

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门



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



开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门



项目内需要预览文件时,只需要调用浏览器打开本项目的预览接口,并传入须要预览文件的 url ,示例如下:
  • 引入 js 文件
  1. <span class="hljs-tag" style="color: rgb(0, 0, 255);"><<span class="hljs-name">script</span> <span class="hljs-attr" style="color: rgb(255, 0, 0);">type</span>=<span class="hljs-string" style="color: rgb(163, 21, 21);">"text/javascript"</span>  <span class="hljs-attr" style="color: rgb(255, 0, 0);">src</span>=<span class="hljs-string" style="color: rgb(163, 21, 21);">"https://cdn.jsdelivr.net/npm/js-base64@3.6.0/base64.min.js"</span>></span><span class="hljs-tag" style="color: rgb(0, 0, 255);"></<span class="hljs-name">script</span>></span>
复制代码

  • Js 代码
  1. <span class="hljs-variable language_" style="color: rgb(0, 128, 0);">window</span>.<span class="hljs-title function_" style="color: rgb(163, 21, 21);">open</span>(<span class="hljs-string" style="color: rgb(163, 21, 21);">'http://127.0.0.1:8012/onlinePreview?url='</span>+ <span class="hljs-built_in" style="color: rgb(0, 0, 255);">encodeURIComponent</span>( <span class="hljs-title class_" style="color: rgb(163, 21, 21);">Base64</span>.<span class="hljs-title function_" style="color: rgb(163, 21, 21);">encode</span>(url) ) );
复制代码



3 Mac 本地调试 & 打包
本节我们介绍如何使用 Mac 电脑本地调试 ,以及根据配置按照 windows/Linux 打对应的部署包。
从 Github 上下载 kkFileView :
  1. git <span class="hljs-built_in" style="color: rgb(0, 0, 255);">clone</span> git@github.com:kekingcn/kkFileView.git
复制代码

kkFileView 强依赖两点:
  • Java 1.8+
  • LibreOffice 或 OpenOffice ( Windows下已内置,CentOS 或 Ubuntu 下会自动下载安装,MacOS 下需要自行安装)
所以 Mac 本地调试需要先安装 LibreOffice ,进入 LibreOffice 首页,下载对应 Mac 版本即可。

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


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

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


启动日志如下:

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门

从日志我们看到:kkFileView 会启动两个 LibreOffice 进程,每个进程有独立的端口。
当我们执行 maven 的 package 命令, 根据配置 windows/Linux 打对应的部署包。

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


4 Linux 环境部署
我们将打包好的 kkFileView Linux 部署包,上传到部署目录,分别执行:
  1. <span class="hljs-comment" style="color: rgb(0, 128, 0);"># 解压缩</span>
  2. tar -zxvf kkFileView-4.4.0-SNAPSHOT.tar.gz

  3. <span class="hljs-comment" style="color: rgb(0, 128, 0);"># 进入 bin 目录</span>
  4. <span class="hljs-built_in" style="color: rgb(0, 0, 255);">cd</span> bin

  5. <span class="hljs-comment" style="color: rgb(0, 128, 0);"># 启动 </span>
  6. ./startup.sh
复制代码

备注: Linux 环境首次启动会自动安装 LibreOffice 默认安装 7.5 版本。
我们也可以手工安装 LibreOffice。
  1. <span class="hljs-comment" style="color: rgb(0, 128, 0);">#将 LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz上传到 home 目录下</span>
  2. <span class="hljs-built_in" style="color: rgb(0, 0, 255);">cd</span> /home
  3. tar -zxvf LibreOffice_7.5.3.2_Linux_x86-64_rpm.tar.gz
  4. <span class="hljs-built_in" style="color: rgb(0, 0, 255);">cd</span> LibreOffice_7.5.3.2_Linux_x86-64_rpm/RPMS/
  5. yum -y localinstall *.rpm
复制代码
手工安装完成后,可以通过如下的命令验证是否正确:
  1. libreoffice7.5 --version
复制代码
启动 kkFileView 并不意味着配置的结束,因为还需要最后一步:安装字体1、下载字体
  1. wget http://kkfileview.keking.cn/fonts.zip
复制代码
2、上传到 /usr/share/fonts , 并解压缩
  1. unzip fonts.zip
复制代码
3、刷新字体索引
  1. mkfontscale
复制代码

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

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


kkFileView 本质是将文档文件转换为特定的展示文件,是一个小型的转码系统。而且转码后的文件存储都是单机模式,假如需要分布式部署,可能还是会有性能瓶颈。最后,kkFileView 相关安装包,也可以关注勇哥的公众号,回复“kk” , 即可获取 。

开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门


开源文档预览项目 kkFileView (9.9k star) ,快速入门

开源文档预览项目 kkFileView (9.9k star) ,快速入门

要么刷卡,要么投币,要么滚蛋。看什么看!公交车都坐不起,还冒充黑客帝国。
灌水成绩
511
344
3006
主题
帖子
积分

等级头衔
U I D : 1
用户组 : 管理员

积分成就
威望 : 524 点
贡献 : 1028 点
蛋壳 : 1369 枚
在线时间 : 640 小时
注册时间 : 2023-12-27
最后登录 : 2024-5-30

荣誉勋章

荣誉会员优秀作者实习版主超级版主帅哥认证管理员最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主论坛元老

联系方式
QQ
发表于 2024-5-2 07:09:48 | 查看全部 来自: 山东泰安
眼:我会了!
手:你放屁!
话说这个公众号是你的嘛?
【荷包蛋部落】官方群:荷包蛋部落 - HBD0.CN
灌水成绩
46
299
850
主题
帖子
积分

等级头衔
U I D : 79
用户组 : 版主

积分成就
威望 : 63 点
贡献 : 374 点
蛋壳 : 5355 枚
在线时间 : 517 小时
注册时间 : 2024-4-13
最后登录 : 2024-5-30

荣誉勋章

最佳新人活跃会员灌水之王

联系方式
 楼主| 发表于 2024-5-2 16:20:20 | 查看全部 来自: 上海松江区
七夏 发表于 2024-5-2 07:09
眼:我会了!
手:你放屁!
话说这个公众号是你的嘛?

不是哟 ,这文章借鉴过来的
要么刷卡,要么投币,要么滚蛋。看什么看!公交车都坐不起,还冒充黑客帝国。
灌水成绩
511
344
3006
主题
帖子
积分

等级头衔
U I D : 1
用户组 : 管理员

积分成就
威望 : 524 点
贡献 : 1028 点
蛋壳 : 1369 枚
在线时间 : 640 小时
注册时间 : 2023-12-27
最后登录 : 2024-5-30

荣誉勋章

荣誉会员优秀作者实习版主超级版主帅哥认证管理员最佳新人活跃会员热心会员推广达人宣传达人灌水之王突出贡献优秀版主论坛元老

联系方式
QQ
发表于 2024-5-2 16:24:33 | 查看全部 来自: 山东泰安
SanS三石 发表于 2024-5-2 16:20
不是哟 ,这文章借鉴过来的

我还以为是你的呢
终于到了小时候羡慕的年纪,你现在怎么不笑了?
灌水成绩
46
299
850
主题
帖子
积分

等级头衔
U I D : 79
用户组 : 版主

积分成就
威望 : 63 点
贡献 : 374 点
蛋壳 : 5355 枚
在线时间 : 517 小时
注册时间 : 2024-4-13
最后登录 : 2024-5-30

荣誉勋章

最佳新人活跃会员灌水之王

联系方式
 楼主| 发表于 2024-5-2 22:46:09 | 查看全部 来自: 上海松江区
七夏 发表于 2024-5-2 16:24
我还以为是你的呢

哈哈哈   我还没成为技术大拿
要么刷卡,要么投币,要么滚蛋。看什么看!公交车都坐不起,还冒充黑客帝国。
灌水成绩
44
72
324
主题
帖子
积分

等级头衔
U I D : 83
用户组 : 版主

积分成就
威望 : 36 点
贡献 : 131 点
蛋壳 : 1611 枚
在线时间 : 298 小时
注册时间 : 2024-4-17
最后登录 : 2024-5-30

荣誉勋章

联系方式
发表于 6 天前 | 查看全部 来自: 黑龙江七台河
We always keep minority spirit.
生无可恋
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

幸运大抽奖,更多好礼等你来抢!
投诉/建议联系

8641340@qq.com

欢迎各位朋友加入本社区,
共同维护良好的社区氛围
  • 加入QQ群
  • 添加微信客服
Copyright © 2001-2024 荷包蛋部落 版权所有 All Rights Reserved. 鲁ICP备20023396号-6
关灯 在本版发帖
扫一扫添加微信客服
QQ客服返回顶部
快速回复 返回顶部 返回列表