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`重启

kkFileView在centos7上安装的更多相关文章

  1. 在centos7上安装Jenkins

    在centos7上安装Jenkins 安装 添加yum repos,然后安装 sudo wget -O /etc/yum.repos.d/jenkins.repo http://pkg.jenkins ...

  2. 在 CentOS7 上安装 zookeeper-3.4.9 服务

    在 CentOS7 上安装 zookeeper-3.4.9 服务 1.创建 /usr/local/services/zookeeper 文件夹: mkdir -p /usr/local/service ...

  3. 在 CentOS7 上安装 MongoDB

    在 CentOS7 上安装 MongoDB 1 通过 SecureCRT 连接至 CentOS7 服务器: 2 进入到 /usr/local/ 目录: cd /usr/local 3 在当前目录下创建 ...

  4. 在 CentOS7 上安装 MySQL5.7

    在 CentOS7 上安装 MySQL5.7 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建 ...

  5. 在 CentOS7 上安装 Tomcat9

    在 CentOS7 上安装 Tomcat9 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目 ...

  6. 在CentOS7上安装JDK1.8

    在CentOS7上安装JDK1.8 1 通过 SecureCRT 连接到阿里云 CentOS7 服务器: 2 进入到目录 /usr/local/ 中: cd /usr/local/ 3 创建目录 to ...

  7. 在Centos7上安装漏洞扫描软件Nessus

    本文摘要:简单叙述了在Centos7上安装Nessus扫描器的过程   Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件,Nessus的用户界面是基于Web界面来访问Nessus漏洞扫描器 ...

  8. 如何在centos7上安装源码包

    在我们使用linux的过程中,有很多程序是通过红帽官网给的系统中安装的,但是一般来说,系统更新的速度比较慢,如果这个时候我们又想用最新版的该怎么办呢?总不能一直等系统升级吧╮(╯﹏╰)╭所以,我们可以 ...

  9. centos7上安装0penStack

    centos7上安装0penStack author:headsen chen 2017-10-09  20:41:54 个人原创,欢迎转载,请注明作者,出去,否则依法追究责任 一,准备工作(配置ip ...

随机推荐

  1. PHP之区域块链

    搭建一个最简单的区块链吧.代码简单易懂. <?php //区域块链 //block 区块 // chain 链 //data  //之前区块的has值 //自己的has值 : 他是由存储在区块链 ...

  2. Redis探索之路(六):Redis的常用命令

    一:键值相关命令 1.keys Pattern模糊查询 keys my* 2.exists某个key是否存在 exists key1 3.del 删除一个key del key1 4.expire设置 ...

  3. (getElementBy**)与 querySelector(querySelectorAll) 的区别

    1. 通过类似于 document.getElementByTagName('div') 这种方式获取到的类数组,无法通过 forEach 进行遍历(可以通过for循环):而通过document.qu ...

  4. 依赖背包变形——poj1947(经典)

    /*这题显然不适用依赖背包的优化,因为不能保证根是必选的,但是可以按照常规依赖背包的思路进行转移,即每次对一个儿子进行C^2的转移 还是树形的背包,dp[u][j]表示u的子树里,切割出一个大小为j的 ...

  5. 自定义alert 确定、取消功能

    以删除为例,首先新建html <table border="1" cellpadding="0" cellspacing="0" id ...

  6. NX二次开发-UFUN获取当前导出CGM选项设置UF_CGM_ask_session_export_options

    文章转载自唐康林NX二次开发论坛,原文出处: http://www.nxopen.cn/thread-126-1-1.html 刚才有同学问到这个问题,如果是用NXOpen来做,直接录制一下就可以了: ...

  7. markdown常用数学符号小结

    (有任何问题欢迎留言或私聊 && 欢迎交流讨论哦 markdown使用LaTex输入数学公式类 Markdown数学符号&公式 CSDN-MarkDown编辑器使用手册(4)- ...

  8. pycharm 参数、快捷键、调试模式

    PyCharm参数.快捷键.调试模式 PyCharm设置参数 在运行Python脚本时,会经常遇到需要传入额外的参数来运行脚本. 例如下脚本1: #!/usr/bin/env python2 # *. ...

  9. spring关于bean的一些配置说明

    <context:annotation-config> 是用于激活那些已经在spring容器里注册过的bean上面的注解.该标签主要向容器中掩式定的注了 AutowiredAnnotati ...

  10. postgresql-创建主键自增的表

    之前一直用的mysql,这个也基本上是主流,主键自增是很多建表规范中的硬性要求,不过这两种数据库主键自增的区别还是很大的 通常navicat中对mysql 主键自增直接客户端指定即可,不过对PG貌似不 ...