源创宝库吧 新一代精品资源网 在线工具箱 ⚡3BBS论坛 - 发现更多有趣的⚡ SanS三石导航页 此位置招租 任推邦 - 不扣量的项目拉新平台 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租 此位置招租 此位置招租 ⚡3BBS论坛 - 发现更多有趣的⚡ 此位置招租 此位置招租 此位置招租
返回列表 发布新帖
查看: 186|回复: 5

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

  离线 
灌水成绩
2193
16760
22883
主题
回帖
积分

等级头衔
UID : 79
等级 : 超级版主

积分成就
威望 : 1012 点
贡献 : 2473 点
蛋壳 : 23093 枚
在线时间 : 3616 小时
注册时间 : 2024-4-13
最后登录 : 2024-12-3

荣誉勋章

荣誉会员帅哥认证最佳新人活跃会员灌水之王实习版主推广达人宣传达人论坛元老热心会员优秀作者优秀版主超级版主部落真神挂机之王

发表于 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) ,快速入门

要么刷卡,要么投币,要么滚蛋。看什么看!公交车都坐不起,还冒充黑客帝国。
  在线 
灌水成绩
795
822
4584
主题
回帖
积分

等级头衔
UID : 1
等级 : 管理员

积分成就
威望 : 797 点
贡献 : 2010 点
蛋壳 : 6910 枚
在线时间 : 1514 小时
注册时间 : 2023-12-27
最后登录 : 2024-12-4

荣誉勋章

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

发表于 2024-5-2 07:09:48 | 查看全部 来自: 中国–山东–泰安
眼:我会了!
手:你放屁!
话说这个公众号是你的嘛?
新帖通知群(钉钉群):点击查看
荷包蛋部落(QQ群):荷包蛋部落 - HBD0.CN
💥荷包蛋联盟-免费的自助广告-为广大用户提供宣传服务!💯
  离线 
灌水成绩
2193
16760
22883
主题
回帖
积分

等级头衔
UID : 79
等级 : 超级版主

积分成就
威望 : 1012 点
贡献 : 2473 点
蛋壳 : 23093 枚
在线时间 : 3616 小时
注册时间 : 2024-4-13
最后登录 : 2024-12-3

荣誉勋章

荣誉会员帅哥认证最佳新人活跃会员灌水之王实习版主推广达人宣传达人论坛元老热心会员优秀作者优秀版主超级版主部落真神挂机之王

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

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

等级头衔
UID : 1
等级 : 管理员

积分成就
威望 : 797 点
贡献 : 2010 点
蛋壳 : 6910 枚
在线时间 : 1514 小时
注册时间 : 2023-12-27
最后登录 : 2024-12-4

荣誉勋章

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

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

我还以为是你的呢
终于到了小时候羡慕的年纪,你现在怎么不笑了?
  离线 
灌水成绩
2193
16760
22883
主题
回帖
积分

等级头衔
UID : 79
等级 : 超级版主

积分成就
威望 : 1012 点
贡献 : 2473 点
蛋壳 : 23093 枚
在线时间 : 3616 小时
注册时间 : 2024-4-13
最后登录 : 2024-12-3

荣誉勋章

荣誉会员帅哥认证最佳新人活跃会员灌水之王实习版主推广达人宣传达人论坛元老热心会员优秀作者优秀版主超级版主部落真神挂机之王

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

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

等级头衔
UID : 83
等级 : 中级会员

积分成就
威望 : 99 点
贡献 : 443 点
蛋壳 : 109 枚
在线时间 : 2606 小时
注册时间 : 2024-4-17
最后登录 : 2024-11-28

荣誉勋章
发表于 2024-5-24 11:56:09 | 查看全部 来自: 中国–黑龙江–七台河
We always keep minority spirit.
生无可恋
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

1楼
2楼
3楼
4楼
5楼
6楼
投诉/建议联系

8641340@qq.com

欢迎各位朋友加入本社区,
共同维护良好的社区氛围
  • QQ用户交流群
  • 钉钉新帖推送群
Powered by Discuz! X3.5 Licensed  Copyright © 2001-2024 荷包蛋部落 版权所有 All Rights Reserved. 鲁ICP备20023396号-6
关灯 在本版发帖
加入钉钉新帖推送群
QQ客服返回顶部
快速回复 返回顶部 返回列表