将Word、Excel和PPT转成PDF和html
简介OFFICE 文档转换为html在线预览
最近想开发一个项目,主要是对Office文档在线进行预览,虽然网上有很简单的方法,但是文件的地址是透明的,可以拿到真实的文件,所以就考虑能否将文档转成PDF或者HTML,直接在网上进行预览。下面简单说一下几种技术方案:
方案:
- 1、服务器先转换为PDF,再转换为SWF,最后通过网页加载Flash预览,比如flexpaper
- 2、Office文档直接转换为SWF,通过网页加载Flash预览
- 3、转换成PDF,直接用浏览器打开
- 4、转换成html
本文主要介绍如何使用libreoffice将文档转换成PDF,然后再将文档转换成html。本文安装是在Centos8系统上。
一、安装JAVA环境
1.1、下载安装包
JDK下载推荐使用镜像:
JDK:https://repo.huaweicloud.com/java/jdk/
您同样可以使用开源的OpenJDK
OpenJDK:https://mirrors.huaweicloud.com/openjdk/
wget https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz
1.2、解压
tar -zxvf jdk-8u192-linux-x64.tar.gz
1.3、移动到指定目录(个人习惯)和修改目录名称
mv jdk1.8.0_192 /apps/
mv jdk1.8.0_192 jdk1.8.0
1.4、添加环境变量
export JAVA_HOME=/apps/jdk1.8.0
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin
1.5、让环境变量生效和测试
[root@localhost apps]# source /etc/profile
[root@localhost apps]# java -version
java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)
以上java环境就配置完成
二、安装libreoffice
2.1、libreoffice官网下载最新版安装包
wget https://download.documentfoundation.org/libreoffice/stable/7.1.4/rpm/x86_64/LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
2.2、解压并安装
tar -zxvf LibreOffice_7.1.4_Linux_x86-64_rpm.tar.gz
cd LibreOffice_7.1.4.2_Linux_x86-64_rpm/RPMS/
yum localinstall *.rpm
2.3、安装相关依赖
yum install cairo cups-libs libSM
2.4、添加环境变量
export LibreOffice_PATH=/opt/libreoffice7.1/program
export PATH=$LibreOffice_PATH:$PATH
2.5、使环境变量生效和测试
source /etc/profile
#上传一个1.docx文件到/tmp目录下,然后生成pdf,如果没有报错就OK
soffice --headless --invisible --convert-to pdf /tmp/1.docx --outdir /tmp/
2.6、启动服务
soffice --accept="socket,host=127.0.0.1,port=2002;urp;" --nofirststartwizard
2.7、Python调用服务
参考地址:https://github.com/mirkonasato/pyodconverter/, 将DocumentConverter.py下载下来
python DocumentConverter.py /tmp/1.docx /tmp/2.pdf
2.8、在转换后如果字体有问题,就需要将windows的字体复制到服务器,然后刷新字体缓存
- windows字体位置:C:\Windows\Fonts
- Centos字体位置:/usr/share/fonts
刷新缓存命令如下:
sudo fc-cache -fv 2>&1 | grep failed | cut -f1 -d":" | xargs -i sudo touch {} && sudo fc-cache -fv
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
PHP中使用Skywalking
ip命令是iproute软件包中的一个强大的网络配置工具,用于显示和管理Linux系统的路由、网络设备、策略路由和隧道。Centos7推荐使用ip命令代替传统的ipconfig和route[该命令我们没有进行说明,需要学习的请参考网上资料]命令。
Flutter的第一个程序“Hello World”
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。