前言
最近在做项目,有一个需求是要把上传来的各种文档转成PDF,比如有word、ppt、excel等。之前没了解过这种需求,网上转了一圈,有很多种方法,给我吓坏了,以为是什么很难得需求,其实不过如此。
不过确实有点难搞,这个需求还有系统要求(window和Linux不一样),也要区分文档的类型(ppt和pptx,doc和docx,xls和xlsx)。我这里采用aspose来完成其他格式转PDF。
先上资源,aspose是需要钱的,所以用的破解版哈哈,而且maven仓库上是没有的,需要自己手动导入jar包。csdn下载还要钱,所以这个是我千辛万苦搜刮来的,有三个资源:
- aspose-word:对应word
- aspose-cells:对应excel
- aspose-siders:对应ppt
链接在这:https://pan.baidu.com/s/1yPiqm7pqI6lyWn4SCWNBaw
密码是:x3ct
其实aspose有无破解都差不多,但是有水印,由于做的是企业项目,不是个人项目,就必须破解。
这个需求个人觉得还是蛮有意思的,也算挺常见的,这里做个分享同时也是做个记录。
实际操作
1.springboot手动导jar包
说实话,自从用了maven以后,我已经很久很久很久没手动导过jar包了。现在由于使用aspose必须使手动导包。下面来仔细讲一下:
-
首先在项目下(即src同级结构)建立一个文件夹,用来存放包,叫什么都行,我这里叫做lib
-
添加依赖
-
修改pom.xml文件,这里有两个部分的修改,一个是依赖的添加,一个是修改maven打包,如果不修改的话,打成jar包后会忽略掉我们手动导入的jar包。
//这里我是导入了三个jar包,所以写了三次,groupid、artifactId、version随便写写就行,这些是自定义的
<dependency>
<groupId>aspose-word</groupId>
<artifactId>aspose-word</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/113318_aspose-words-jdk16-14.9.0.jar</systemPath>
</dependency>
<dependency>
<groupId>aspose-ppt</groupId>
<artifactId>aspose-ppt</artifactId>
<version>1</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/aspose.slides-19.3.jar</systemPath>
</dependency>
<dependency>
<groupId>aspose-excel</groupId>
<artifactId>aspose-excel</artifactId>
<version>1</version