CentOS上 libreoffice 和 unoconv 安装步骤 实现word转html

libreoffice安装

yum search libreoffice查询一下系统自带的安装包

1
2
3
4
5
6
7
8
9
10
11
......
libreoffice-sdk-doc.x86_64 : Software Development Kit documentation for LibreOffice
libreoffice-wiki-publisher.x86_64 : Create Wiki articles on MediaWiki servers with LibreOffice
libreoffice-writer.x86_64 : LibreOffice Word Processor Application
libreoffice-xsltfilter.x86_64 : Optional xsltfilter module for LibreOffice
libreoffice.x86_64 : Free Software Productivity Suite
libreoffice-filters.x86_64 : All import / export filters
libreoffice-gdb-debug-support.i686 : Additional support for debugging with gdb
libreoffice-gdb-debug-support.x86_64 : Additional support for debugging with gdb
libreoffice-librelogo.x86_64 : LibreLogo scripting language
libreoffice-ure.x86_64 : UNO Runtime Environment

yum install libreoffice.x86_64 执行安装

unoconv安装

下载 unovocn ,git地址:https://github.com/dagwieers/unoconv/archive/master.zip

wget https://github.com/dagwieers/unoconv/archive/master.zip

下载后 unzip master.zip 即可。

进入解压后的 unoconv-master 目录,执行文件转换,运行:

./unoconv -f pdf CHANGELOG.md

来测试,正常来说会生成一个CHANGELOG.pdf文件;

转换报错

如果转换报如下错误:

1
2
3
4
/usr/lib64/libreoffice/program/soffice.bin X11 error: Can’t open display:
Set DISPLAY environment variable, use -display option
or check permissions of your X-Server
(See “man X” resp. “man xhost” for details)

网上查了一下 需要安装一些别的软件就可以 yum install libreoffice-headless 用这个命令安装好这些依赖即可

再运行 unoconv -f pdf CHANGELOG.md 即可看到同目录已经生成了 相应的pdf文件

将转换后新生成的文件到指定目录或文件

./unoconv -f html -o static/1.html docs/1.doc

转换后新生成的html文件放到static目录下。

在PHP执行命令

如果在php文件使用exec命令执行如上命令返回NULL,则应该是php配置文件限制了执行外部命令函数。

如果在php文件使用exec命令执行如上命令返回5,则应该是文件权限问题。

参考链接:
https://www.cnblogs.com/xcp19870712/p/4760842.html
https://www.licongying.cn/2018/10/linux-centos-install-unoconv-liboffice/

坚持原创技术分享,您的支持将鼓励我继续创作!