kkFileView是使用spring boot打造文件文档在线预览项目解决方案.
项目地址:https://gitee.com/kekingcn/file-online-preview
安装步骤:
1.下载对应的安装包,放到linux下
2.已经安装了jdk
3.从项目中下载,或者自己编译kkfileView-2.1.2.tar.gz
解压到任意目录,目中中的结构如下
4.进入启动目录,进行启动
cd kkFileView-2.1.2/bin sh startup.sh
启动会调用,script文件夹下的install安装openoffice4。如果是内网无法下载的话,可以自己手工下载,并调整路径
自动下载安装包后,会建立/opt/openoffice4目录。openoffice的默认启动端口是8100,注意是否有冲突。
可以尝试访问http://ip:8012 查看初始界面了。
5.openoffice虽然安装了,但也可能因为某些原因启动不了,这样还是看到不到界面的。
所以先测试openoffice是否可用。
# 进入 openOffice 安装目录 cd /opt/openoffice4/program/ # 在本地开启 openOffice 服务,端口为 8100。 ./soffice -headless -accept="socket,host=127.0.0.1,port=8100:urp;" -nofirststartwizard & #查看进程是否开启正确, 然后杀死这个进程 kill ? 以免程序起不来 ps -ef|grep soffice
如果不能正常启动,先安装libXext,然后再重试
centos7-64下载地址:http://mirror.centos.org/centos/7/os/x86_64/Packages/libXext-1.3.3-3.el7.x86_64.rpm
启动系统可以在此地址查找:https://pkgs.org/download/libXext.so.6
安装成功后,如果还启动不了,在安装图形界面
yum groupinstall "X Window System"
openoffice确认可以启动了,再回到kkFileView的bin目录下,执行startup.sh进行启动。
尝试访问http://ip:8012 查看初始界面,如果是内网的话会非常慢,因为有引用互联网的js文件。
6.访问测试
尝试访问http://ip:8012 查看初始界面
//要预览文件的访问地址 var url = 'http://127.0.0.1:8080/file/test.txt'; window.open('http://127.0.0.1:8012/onlinePreview?url='+encodeURIComponent(url)); //多图片同时预览功能,多文件使用“|”字符隔开 var fileUrl =url1+"|"+"url2"; window.open('http://127.0.0.1:8012/picturesPreview?urls='+encodeURIComponent(fileUrl));
可以尝试测试一下,首先找一个可以通过web访问的word文件。例如自己做一个nginx将文件放进去。
http://172.24.4.69:9500/dev-common-soft/apache/openOffice/1.docx
将路径做url转码,就可以访问到对应的文件预览了。
以图片模式查看
http://172.24.4.75:8012/onlinePreview?url=http%3A%2F%2F172.24.4.69%3A9500%2Fdev-common-soft%2Fapache%2FopenOffice%2F2.docx
以pdf模式查看
http://172.24.4.75:8012/onlinePreview?url=http%3A%2F%2F172.24.4.69%3A9500%2Fdev-common-soft%2Fapache%2FopenOffice%2F2.docx&officePreviewType=pdf
7.解决乱码
解决:
a.查看当前语言包: locale -a|grep zh_CN 如果 如果没有zh_CN.utf8,就安装语言包,如果存在可以直接设置
b.安装简体中文语言包: `yum install kde-l10n-Chinese`
c.设置为中文: 临时修改,重启服务器之后就会还原之前的设置:`LANG="zh_CN.UTF-8"` #修改为中文
d.永久修改
1) `vi /etc/locale.conf` 加下面内容到第一行,设置中文 `LANG=zh_CN.UTF8` 然后 source /etc/locale.conf
2) `localectl set-locale LANG=zh_CN.UTF8`
其它:修改时区为亚洲上海 `ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime`
e:添加字体到 /usr/share/fonts 里面
**windows系统的字体库在 C:\Windows\Fonts 下面,需要的字体拷贝到linux即可**
f:建立字体缓存
进入字体存放目录: `cd /usr/share/fonts`;
yum install mkfontscale
yum install fontconfig
mkfontscale
mkfontdir
fc-cache
fc-list PS:查看系统字体
fc-list :lang=zh PS:查看系统中文字体
g: 重启计算机(好像需要重启计算机才会生效)
`reboot`
h: 如果重启后没有生效,把/usr/share/fonts 下面的字体文件改为可执行 `chmod 755 *.ttf`
然后再`mkfontscale`,`mkfontdir`, #fc-cahce
`reboot`重启