首页 > 系统相关 >linux 使用kkFileView组件实现在线文件预览

linux 使用kkFileView组件实现在线文件预览

时间:2023-07-20 16:01:52浏览次数:55  
标签:opt zh 预览 -- root LibreOffice linux kkFileView rpm

kkFileView简介

此项目为文件文档在线预览项目解决方案,对标业内付费产品有【永中office】【office365】【idocv】等,在取得公司高层同意后以Apache协议开源出来反哺社区,该项目使用流行的spring boot搭建,易上手和部署,基本支持主流办公文档的在线预览,如doc,docx,Excel,pdf,txt,zip,rar,图片等等。具体参考官方文档:https://kkfileview.keking.cn/zh-cn/docs/home.html

kkFileView 安装

环境要求

  • Java: 1.8+
  • LibreOffice或OpenOffice(Windows下已内置,CentOS或Ubuntu下会自动下载安装,MacOS下需要自行安装)

linux安装LibreOffice或OpenOffice

LibreOffice

下载地址:https://zh-cn.libreoffice.org/download/libreoffice/

OpenOffice

下载地址:http://www.openoffice.org/zh-cn/download/

随便下载一个,我这里下载的是LibreOffice,兼容性更好点

安装

#安装openoffice
 
[root@cql ~]# tar -xf Apache_OpenOffice_4.1.5_Linux_x86-64_install-rpm_zh-CN.tar.gz
 
[root@cql zh-CN]# cd RPMS/
[root@cql RPMS]# rpm -ivh *.rpm
 
[root@cql zh-CN]# desktop-integration/
[root@cql desktop-integration]# rpm -ivh openoffice4.1.5-redhat-menus-4.1.5-9789.noarch.rpm
 
[root@cql RPMS] yum groupinstall "X Window System"
 
报错:
SyntaxError: invalid syntax
  File "/usr/libexec/urlgrabber-ext-down", line 28
    except OSError, e:
解决办法:
由于升级过python版本,修改/usr/libexec/urlgrabber-ext-down和/usr/bin/yum的python解释器版本
 
启动:
[root@cql desktop-integration]# /opt/openoffice4/program/soffice --headless --accept="socket,host=127.0.0.1,port=8100;urp;" --nofirststartwizard &
[1] 57754
[root@cql desktop-integration]# ps aux | grep 57754
root     57754  0.0  0.3 113132   752 pts/0    S    09:39   0:00 /bin/sh /opt/openoffice4/program/soffice --headless --accept=socket,host=127.0.0.1,port=8100;urp; --nofirststartwizard
root     57801  0.0  0.2 112680   696 pts/0    R+   09:40   0:00 grep --color=auto 57754
 
 
#安装libreoffice
[root@www tools]# tar -xvf LibreOffice_6.0.5.2_Linux_x86-64_rpm.tar.gz -C /opt
[root@www tools]# tar -xf LibreOffice_6.0.5.2_Linux_x86-64_rpm_langpack_zh-CN.tar.gz -C /opt
 
[root@www opt]# cd /opt/LibreOffice_6.0.5.2_Linux_x86-64_rpm/RPMS
[root@www RPMS]# yum localinstall *.rpm
[root@www opt]# cd /opt/LibreOffice_6.0.5.2_Linux_x86-64_rpm_langpack_zh-CN/RPMS
[root@www RPMS]# yum localinstall *.rpm
 
/opt/libreoffice6.0/program/soffice --headless --accept='socket,host=127.0.0.1,port=8100;urp;' --nofirststartwizard &
 
#设置开机重自启动直接将上面的启动命令写入/etc/rc.d/rc.local文件中
#如果出现中文乱码的情况,首先关注在libreoffice的安装目录下的fonts目录下有没有简体中文的字体文件
#然后去看系统目录下/usr/share/fonts下有没有简体中文的字体文件

#使用rpma安装安装包时,会出现error: Failed dependencies:意思是 失败的依赖 
#解决:在安装包后面加两个参数,如:rpm -ivh 包名 --nodeps --force,加上那两个参数的意义就在于,安装时不再分析包之间的依赖关系而直接安装

安装字体

1.下载中文字体包

官方:http://kkfileview.keking.cn/fonts.zip

清华大学镜像站:https://mirrors.tuna.tsinghua.edu.cn/adobe-fonts/source-han-sans/SubsetOTF/

2.文件解压完整拷贝到Linux下的 /usr/share/fonts目录。

3.然后依次执行mkfontscale 、mkfontdir 、fc-cache使字体生效

如果报错命令没有找到,则安装对应命令,例如:yum install -y mkfontscale

4.赋予字体权限

chmod -R 755 *.TTF
chmod -R 755 *.ttf
chmod -R 755 *.ttc

5.使配置生效 source /etc/profile

6.将之前kkfileview服务和office服务都停止
ps -ef | grep soffice

7.重启 kkfilleview(kkfileview服务会启动office)

kkFileView 代码问题配置

码云地址:https://gitee.com/kekingcn/file-online-preview

配置文件目录:

1.配置了nginx代理需要配置 server.servlet.context-path,不要忘了代理路径配置正确

2.配置缓存文件生成目录file.dir

3.如果不想使用base64加密,注释代码:

4.部署到linux配置文件访问报错,设置配置文件从外部加载:

此时加载配置路径为:/home/office/config/application.properties


原文章地址:
https://blog.csdn.net/cql08e/article/details/81234521
https://tech99.cn/shot/?uuid=CSDN_129188399

标签:opt,zh,预览,--,root,LibreOffice,linux,kkFileView,rpm
From: https://www.cnblogs.com/1399z3blog/p/17568343.html

相关文章

  • linux mysql 安装
    centos安装mysql5.7安装包下载地址:https://dev.mysql.com/downloads/mysql/5.7.html#downloads下载安装包:wgethttps://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.36-linux-glibc2.12-x86_64.tar.gz解压:tar-zxvfmysql-5.7.36-linux-glibc2.12-x86_64.tar.gz移动重命......
  • c# 文件在线预览功能
    usingDocumentFormat.OpenXml.Packaging;usingDocumentFormat.OpenXml.Wordprocessing;usingDocumentFormat.OpenXml.Drawing;usingMicrosoft.AspNetCore.Mvc;usingNewtonsoft.Json;usingOfficeOpenXml;usingSystem;usingSystem.Data;usingSystem.IO;using......
  • linux系统,kafka常用命令
    kafka版本过高所致,2.2+=的版本,已经不需要依赖zookeeper来查看/创建topic,新版本使用--bootstrap-server替换老版本的--zookeeper-server。[root@kwephis1160698bin]#./kafka-topics.sh--list--zookeeperlocalhost:2181Exceptioninthread"main"joptsimple.Unrecognized......
  • linux 8- 线程 守护进程
    linux8day1.终端在unix系统中用户通过终端登录系统得到shell进程,这个终端成为shell进程的控制终端前台进程于后台进程tty可以直接获取终端函数说明:#include<unistd.h>char*ttyname(intfd);功能:由文件描述符查出对应的文件名参数:fd:文件描述符返回值:成功:......
  • linux9 互斥锁 死锁 读写锁 条件变量 信号量
    1.linux9day1.线程竞争![01-打印机模型](I:\9day\01-打印机模型.png)2.同步和互斥互斥同一时刻只能一个进程或线程使用多个进程或线程不能同时使用同步:是指散步在不同任务之间的若干程序片断,它们的运行必须严格按照规定的某种先后次序来运行,这种先后次序依赖于要完成的特......
  • linux环境中,一个目录下,除了特定的目录和这个目录里面的内容,删除所有其他的目录和文件
    有个tomcat目录,如下: [[email protected]]#ls-ltotal148drwxr-x---2rootroot4096Jul2014:37bin-rw-r-----1rootroot19992May421:04BUILDING.txtdrwx------2rootroot4096May421:04conf-rw-r-----1rootroot62......
  • Linux服务器上设置或修改ip
    临时修改永久修改1、超级用户修改配置文件:/etc/sysconfig/network-scripts/ifcfg-${网卡名},模板可以参考下边的···TYPE=EthernetPROXY_METHOD=noneBROWSER_ONLY=noBOOTPROTO=staticDEFROUTE=yesIPV4_FAILURE_FATAL=noIPV6INIT=yesIPV6_AUTOCONF=yesIPV6_DEFROUTE=y......
  • linux7-信号
    1.信号的概念信号->电话铃声是一种抽象的概念接电话->动作信号是软件中断,它是在软件层次上对中断机制的一种模拟,是一种异步通信的方式。信号可以导致一个正在运行的进程被另一个正在运行的异步进程中断,转而处理某一个突发事件。![信号实现](I:\7day\信号实现.png)一个完......
  • Linux 下运行.NET 6 7 8 程序遇到的两个问题
    一、/lib64/libstdc++.so.6:version`GLIBCXX_3.4.21‘notfound的解决办法1.下载libstdc++.so.6.0.21文件注意区分x84_64和aarch64架构,下载对应的版本2.把libstdc++.so.6.0.21复制到/lib64/libstdc++.so.6.0.213.运行命令exportLD_PRELOAD="/lib64/libstdc++.s......
  • linux怎么让程序开机自动启动
    https://zhidao.baidu.com/question/1609108067350090187.html目录下的脚本文件,可以使init自动启动其它程序。例如:编辑/etc/rc.d/rc.local文件(该文件通常是系统最后启动的脚本),在文件最末加上一行“xinit”或“startx”,可以在开机启动后直接进入X-Window。......