CV工程师
2022-11-30 05:30:41 阅读:471
憋了一两周的时间,终于做出这个Word转PDF的工具了:传送门,下面来捋一捋思路。
要想做一个在线的word转pdf工具,一定有两种思路:
经过一些列的资料查找,前端处理的可能性太小了,只能在后端处理了。后端可以通过一个开源office工具:LibreOffice进行后端转换。原理就类似于在服务器上安装了一个wps,然后有个叫做jodconverter的类库可以调用wps的打开word文件,另存为pdf文件。
这一步非常重要。
开发的过程是有些曲折的,最新版本的libreoffice和jodconverter感觉不太兼容,总是无法调用,然后降低版本后可以正常使用了。版本如下:
pom.xml:
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>4.4.2</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.4.2</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-core</artifactId>
<version>4.4.2</version>
</dependency>
服务器安装LibreOffice过程如下:
# 下载
wget https://download.documentfoundation.org/libreoffice/stable/7.3.7/rpm/x86_64/LibreOffice_7.3.7_Linux_x86-64_rpm.tar.gz
# 解压
tar -zxvf LibreOffice_7.3.7_Linux_x86-64_rpm.tar.gz
# 进入目录
cd LibreOffice_7.3.7.2_Linux_x86-64_rpm/
cd RPMS/
# 开始安装
yum localinstall *.rpm
# 查看版本
libreoffice7.3 -version
# 重要!!!
# 创建软连接,否则jodconverter找不到
ln -s /opt/libreoffice7.3 /opt/libreoffice
接下来就是安装中文字体:
# 创建中文字体文件夹
mkdir /usr/share/fonts/chinese
# 把中文字体上传到上面这个chinese文件夹里面
# 编辑权限
chmod -R 755 /usr/share/fonts/chinese
yum -y install ttmkfdir
ttmkfdir -e /usr/share/X11/fonts/encodings/encodings.dir
vim /etc/fonts/fonts.conf
# 在里面添加:<dir>/usr/share/fonts/chinese</dir>
fc-cache
# 如果已经启动了Java程序,就重启一下。
到此,所需要的环境就安装完成了。
后端的开发我想到了两种方式:
第二种方式和上一篇文章:【工具记录】前端利用Iframe实现post请求下载 有对应关系,利弊都在文章里。
第一种方式是一种典型的异步方式,为了方便拓展,我共创建了四步:
前端比较简单了,按照上述流程做工作就OK了。界面如下:
整个工具的大致流程就是这样,如果边做工具编写文章的话怕是能写不少东西,做完几天后再来记录这个过程的话,确确实实忘记了很多。
评论
扫描二维码获取文章详情
更多精彩内容尽在:WWW.ZNGG.NET