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./bin
sh startup.sh

启动会调用,script文件夹下的install安装openoffice4。如果是内网无法下载的话,可以自己手工下载,并调整路径

例如,下面就是将下载地址指向了自己的地址。

自动下载安装包后,会建立/opt/openoffice4目录。openoffice的默认启动端口是8100,注意是否有冲突。

可以尝试访问http://ip:8012   查看初始界面了。

5.openoffice虽然安装了,但也可能因为某些原因启动不了,这样还是看到不到界面的。

所以先测试openoffice是否可用。

# 进入 openOffice 安装目录
cd /opt/openoffice4/program/
# 在本地开启 openOffice 服务,端口为 。
./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`重启

最新文章

  1. 20145223《Java程序程序设计》第1周学习总结
  2. Navi.Soft30.框架.WebMVC.开发手册
  3. linux 不能用clock 计算sleep的时间
  4. USB 描述符
  5. 控制台应用程序的Main方法
  6. Server-Side UI Automation Provider - WinForm Sample
  7. SpringMVC的文件上传
  8. iOS下bound,center和frame
  9. eclipse中svn插件在线安装方式
  10. Python - SIP参考指南 - 介绍
  11. 【Espruino】NO.12 加速度传感器演示
  12. Java数据库设计14个技巧
  13. Android 多窗口
  14. Scrapy中间件user-agent和ip代理使用
  15. ELFHash算法解释
  16. Backpack VI
  17. Docker安装指定版本
  18. Python全栈-day5-数据类型
  19. JAVA——遍历
  20. Codeforces 909 D. Colorful Points (模拟)

热门文章

  1. 读书笔记---《Docker 技术入门与实践》---为镜像添加SSH服务
  2. Arrays 001
  3. B 树 B+树
  4. 文本聚合函数(wm_concat, listagg, group_concat, string_agg)
  5. python数据读取路径为啥要用双反斜杠?
  6. BlockingQueu 阻塞队列
  7. magento 跳转
  8. bzoj1057: [ZJOI2007]棋盘制作 [dp][单调栈]
  9. NX二次开发-UFUN读取表格注释内容UF_TABNOT_ask_cell_text
  10. NX二次开发-UFUN创建圆锥UF_MODL_create_cone1