在线文档预览服务

2022/12/15 文档预览

利用开源世界的产品实现H5在线预览文档功能,在不花钱的情况下,这一定是最优的解决方案

大家好,我是小鑫同学 (opens new window)。一位长期从事前端开发的编程爱好者,我信奉编程最重要的是分享。请跟随小鑫同学的步伐,一起带你畅游不一样的前端世界~

本地源码启动:

1. 安装必要的工具及套件:

  1. 安装 IDEA 开发工具:https://www.jetbrains.com/idea/ (opens new window)
  2. 安装 Java1.8+ 环境依赖:https://www.oracle.com/java/technologies/downloads/#java8 (opens new window)
  3. 安装 OpenOffice 套件:http://www.openoffice.org/download/ (opens new window)
  4. 安装 LibreOffice 套件:https://zh-cn.libreoffice.org/ (opens new window)

PS:OpenOffice 和 LibreOffice 必须安装其中一项;

2. 本地部署源码:

git clone git@gitee.com:kekingcn/file-online-preview.git
1

3. 调整Office路径:

配置文件:file-online-preview-master\server\src\main\config\application.properties

#openoffice home路径
office.home = C:\\Program Files (x86)\\OpenOffice 4
#office.home = C:\\Program Files\\LibreOffice
#office.home = ${KK_OFFICE_HOME:default}
1
2
3
4

4. 水印设置:

配置文件:file-online-preview-master\server\src\main\config\application.properties

#水印内容
#例:watermark.txt = ${WATERMARK_TXT:凯京科技内部文件,严禁外泄}
#如需取消水印,内容设置为空即可,例:watermark.txt = ${WATERMARK_TXT:}
watermark.txt = ${WATERMARK_TXT:小鑫同学在线}
#水印x轴间隔
watermark.x.space = ${WATERMARK_X_SPACE:100}
#水印y轴间隔
watermark.y.space = ${WATERMARK_Y_SPACE:100}
#水印字体大小
watermark.fontsize = ${WATERMARK_FONTSIZE:18px}
#水印透明度,要求设置在大于等于0.005,小于1
watermark.alpha = ${WATERMARK_ALPHA:0.1}
#水印倾斜度数,要求设置在大于等于0,小于90
watermark.angle = ${WATERMARK_ANGLE:30}
1
2
3
4
5
6
7
8
9
10
11
12
13
14

服务器部署:

1. 安装远程连接工具:

安装FinalShell (opens new window)工具后以此添加主机IP、用户名、密码等连接信息。 image.png

2. Office套件安装:

新的环境大概率是没有相关的Office套件的,那么可以使用kkFileView for install.sh (opens new window)来进行安装,将脚本的完整内容拷贝至FinalShell终端。

#!/bin/bash
cd /tmp

install_redhat() {
   wget https://kkfileview.keking.cn/LibreOffice_7.3.7_Linux_x86-64_rpm.tar.gz -cO LibreOffice_7_rpm.tar.gz && tar -zxf /tmp/LibreOffice_7_rpm.tar.gz && cd /tmp/LibreOffice_7.3.7.2_Linux_x86-64_rpm/RPMS
   echo $?
   if [ $? -eq 0 ];then
     yum install -y libSM.x86_64 libXrender.x86_64  libXext.x86_64
     yum groupinstall -y  "X Window System"
     yum localinstall -y *.rpm
     echo 'install finshed...'
   else
     echo 'download package error...'
   fi
}

install_ubuntu() {
   wget  https://kkfileview.keking.cn/LibreOffice_7.3.7_Linux_x86-64_deb.tar.gz  -cO LibreOffice_7_deb.tar.gz && tar -zxf /tmp/LibreOffice_7_deb.tar.gz && cd /tmp/LibreOffice_7.3.7.2_Linux_x86-64_deb/DEBS
   echo $?
 if [ $? -eq 0 ];then
     apt-get install -y libxinerama1 libcairo2 libcups2 libx11-xcb1
     dpkg -i *.deb
     echo 'install finshed...'
  else
    echo 'download package error...'
 fi
}


if [ -f "/etc/redhat-release" ]; then
  yum install -y wget
  install_redhat
else
  apt-get install -y wget
  install_ubuntu
fi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36

注意:下载后如果发现为能成功安装,可以手动执行命令:yum -y localinstall *.rpm

3. 利用 docker 部署:

  1. docker部署如遇到 driver failed programming external connectivity on endpoint xxx,那么大概率是由于与防火墙冲突导致,建议重启docker:systemctl restart docker
  2. 正常情况下还需要在阿里云对端口进行放行,如果有使用到宝塔面板,同样需要在宝塔面板进行端口放心;
// 拉取镜像
docker pull keking/kkfileview:4.1.0
// 启动镜像
docker run -it -p 8012:8012 keking/kkfileview:4.1.0
1
2
3
4

image.png image.png



如果看完觉得有收获,欢迎点赞、评论、分享支持一下。你的支持和肯定,是我坚持写作的动力~ 最后可以关注我@小鑫同学。欢迎点此扫码加我 (opens new window)交流,共同进步(还可以帮你fix🐛)~

Last Updated: 2023/2/1 03:59:51