项目需要实现局域网预览office文档的功能,之前做的在线项目,都是将文档上传到cdn,利用cdn自带的转码功能,把文档转换为pdf,然后再用pdf.js实现在线预览。
因为是局域网,没有办法上传到cdn,只能自己搭建本地的文档转换工具。在网上找了很多,最后定位到openoffice和libreoffice,经测试对比,libreoffice转换的效果明显好于openoffice。
下面是libreoffice在windows和linux下的部署教程。
依赖java环境,不管是windows还是linux,请先安装1.7或者更新版本的java(本文档主要介绍安装libreoffice,安装java的过程这里不赘述,网上教程非常多)。
访问libreoffice官网进行下载(稳定版),并选择适合自己电脑的版本
https://zh-cn.libreoffice.org/
下载下来之后进行安装
安装过程中进行傻瓜式操作(一直点击下一步、安装)
查看是否安装成功
点击左下角“开始”按钮,在搜索框中输入libreoffice,出现以下界面,然后点击第一个程序
点击之后出现以下界面说明安装成功
在DOS命令窗口输入“soffice”命令检查是否自动配置了环境变量
使用快捷键“win+R”调出运行对话框,并在其中输入“cmd”
弹出DOS命令窗口,在其中输入“soffice”
如果出现以下界面说明环境变量已配置好,则直接到第 六 步
如果出现以下提示,说明未配置环境变量,需手动添加环境变量,具体查看第 五 步
环境变量未自动配置时,手动添加环境变量
在桌面图标“计算机”上右击(点击鼠标右键),然后点击“属性”,或使用点击屏幕左下角“开始”按钮,然后点击“控制面板”,在控制面板中点击“系统”
在弹出的界面中选择“高级系统设置”
然后点击“环境变量”
在“系统变量”中找到“Path”变量
点击“编辑”,在最后面将本地“libreoffice”的安装路径添加进去
如: C:\Program Files\LibreOffice\program
注意:在路径最前面与最后面一定要添加上英文状态下的”;”
可以再次回到第 四 步检查环境变量是否添加成功
重启电脑!
注意:这一步非常重要,一定要重启电脑,不然可能会获取不到环境变量
yum remove libreoffice-*
cd /usr/local
wget http://mirrors.ustc.edu.cn/tdf/libreoffice/stable/6.1.3/rpm/x86_64/LibreOffice_6.1.3_Linux_x86-64_rpm.tar.gz
tar -zxvf LibreOffice_6.1.3_Linux_x86-64_rpm.tar.gz
cd /usr/local/LibreOffice_6.1.3_Linux_x86-64_rpm/RPMS
yum localinstall *.rpm
注意:执行此步骤需配置java运行环境,如已配置则直接执行以下命令,否则详情请见Java环境配置-Linux文档
yum install libreoffice-headless
直接输入“soffice”或“libreoffice”,如出现以下字样,说明配置成功
在/ust/share/fonts目录中新建一个名为“Fonts”的目录,然后使用WinSCP将Windows中的以下常用字体添加到“Fonts”目录中
英文文件名(中文名称)
msyh.ttf(微软雅黑 常规)
msyhbd.ttf(微软雅黑 粗体)
simsun.ttc(宋体 常规)
simkai.ttf(楷体 常规)
simhei.ttf(黑体 常规)
simfang.ttf(仿宋 常规)
如需要转码的文档中包含其他字体,可自行再次添加
注:Windows字体目录:C:\Windows\Fonts