发布于2021-05-29 19:51 阅读(1397) 评论(0) 点赞(13) 收藏(5)
KKFileView是基于SpringBoot和OpenOffice编写的开源的文件转换和在线预览工具,但目前官方已经隐藏了已经编译好的版本,现在是需要加他们的付费群才可以拿,官网只能拿到源码,然后我就自己拿源码用maven编译了。
kkFileView支持的格式:doc、docx、ppt、pptx、xls、xlsx、zip、rar、mp4、mp3以及众多类文本及代码如txt、html、xml、java、properties、sql、js、md、json、conf、ini、vue、php、py、bat、gitignore。
官网:https://kkfileview.keking.cn/zh-cn/docs/production.html
kkfileview需要的几个东西:Java、OpenOffice或LiberOffice、编译好的kkfileview包、字体包。除了java,我都有传到百度云,链接:https://pan.baidu.com/s/1_838zD_aLaqmpb4V4Sz8vQ 提取码: b67s
我这里测试用的OpenOffice,没试过LiberOffice,OpenOffice还可以,各种格式都兼容,口碑较好。
可以在linux的使用的中文字体包,防止乱码,这个随便在什么时候装。
有条件最好配环境联网吧,依赖挺多的。
yum install java
通过yum安装的默认路径为:/usr/lib/jvm
在/etc/profile
的最后加上java的环境变量:
JAVA_HOME=/usr/java/jre1.8.0_211
CLASSPATH=.:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$PATH
export JAVA_HOME CLASSPATH PATH
然后执行(注意最前面的点.)
. /etc/profile
查看java的版本,看是否安装成功。
这步或许可以省略,也可以先安装,不冲突。
1、下载的包和解压后的目录zh-CN,我们下的是中文包。
2、进入安装,主要是RPMS下的
cd zh-CN/RPMS/
rpm -ivh *.rpm
3、安装完后,再进入RPMS的下一层目录,只要选择一个即可,我们选择redhat即可。
cd zh-CN/RPMS/desktop-integration
rpm -ivh openoffice4.1.9-redhat-menus-4.1.9-9805.noarch.rpm
4、安装完启动,启动命令如下,不加&就只是临时启动:
/opt/openoffice4/program/soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard &
启动后,可以使用ps查看进程是否启用
想要最新的自己编译的,自己看官网用maven打包,这里我已经打包好了。进入/root/kkFileView-3.5.1/bin
(我是直接放在/root下了)直接执行sh startup.sh
即可。
为什么说可以不装openoffice,看我们刚刚执行的脚本
其中的install.sh,就是它会在DIR_HOME的目录里找是否有soffice.bin这个文件,有就当你装了,就可以看到刚刚我们执行sh startup.sh
里输出了如下信息:
Detected office component has been installed in /opt/openoffice4
如果没有就会执行install.sh
,内容如下,可知会自动下载:
此时soffice我们已经开启了,startup.sh脚本也执行了,在浏览器访问ip:8012
会跳转到http://ip:8012/index
,界面如下:
里面的txt是我上传测试的文件,可以预览,上传的文件存在`/root/kkFileView-3.5.1/file目录下。
1、检查是否有fontconfig这个包,没有就安装
yum install fontconfig
2、将fonts.zip解压,将解压后得到的整个zhFonts目录放入 /usr/share/fonts下,或者干脆放到 /usr/share/fonts下解压:
3、然后分别执行这三条命令
>>> mkfontscale
>>> mkfontdir
>>> fc-cache
部署起来的kkfileview演示首页的接入说明有说怎么做:
因为想模拟一下的,但是没前端环境,没关系我们有浏览器,打开console控制台,encodeURIComponent是js自带的方法,base64用其他方法代替一下,在console输入回车:
>>> encodeURIComponent(btoa(encodeURI('http://ip/download/a/百度停用词列表.txt')))
"aHR0cDovLzE5Mi4xNjguMzMuMjE0L2Rvd25sb2FkL2EvJUU3JTk5JUJFJUU1JUJBJUE2JUU1JTgxJTlDJUU3JTk0JUE4JUU4JUFGJThEJUU1JTg4JTk3JUU4JUExJUE4LnR4dA%3D%3D"
那么预览的地址为:
http://192.168.33.214:8012/onlinePreview?url=aHR0cDovLzE5Mi4xNjguMzMuMjE0L2Rvd25sb2FkL2EvJUU3JTk5JUJFJUU1JUJBJUE2JUU1JTgxJTlDJUU3JTk0JUE4JUU4JUFGJThEJUU1JTg4JTk3JUU4JUExJUE4LnR4dA%3D%3D
说明一下,url是需要在浏览器可以打开的,可以预览或者下载(浏览器是可以预览某些文件的),临时使用我们借用Nginx,在配置文件里加入类似代码,然后重启nginx服务:
location /download {
alias /tmp/;
}
/download是映射目录,在浏览器可以访问,/tmp是我们在环境存放的真实路径,该下的文件可以被/download访问,比如/tmp下有文件/tmp/a/b.txt,则浏览器访问:http://ip/download/a/b.txt
,默认端口80。
参考链接:
1、https://my.oschina.net/u/232595/blog/2986127
2、https://blog.csdn.net/qq_44322555/article/details/115193593
3、https://blog.csdn.net/dndndnnffj/article/details/112000034
4、https://www.cnblogs.com/archerhao/p/11423571.html
原文链接:https://blog.csdn.net/qq_28304687/article/details/117322320
作者:码神
链接:http://www.javaheidong.com/blog/article/207257/b972c3eebf3a8bce2d6f/
来源:java黑洞网
任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任
昵称:
评论内容:(最多支持255个字符)
---无人问津也好,技不如人也罢,你都要试着安静下来,去做自己该做的事,而不是让内心的烦躁、焦虑,坏掉你本来就不多的热情和定力
Copyright © 2018-2021 java黑洞网 All Rights Reserved 版权所有,并保留所有权利。京ICP备18063182号-2
投诉与举报,广告合作请联系vgs_info@163.com或QQ3083709327
免责声明:网站文章均由用户上传,仅供读者学习交流使用,禁止用做商业用途。若文章涉及色情,反动,侵权等违法信息,请向我们举报,一经核实我们会立即删除!