前段时间,项目需要自动生成word文档,用WordFreeMarker生成word文档后,又要求生成的文档能在浏览器浏览,思来想去,把word文档转成pdf就好了,于是乎研究了一下。
将word文档转化为PDF是项目中常见的需求之一,目前主流的方法可以分为两大类,一类是利用各种Office应用进行转换,譬如Microsoft Office、WPS以及LiberOffice,另一种是利用各种语言提供的对于Office文档读取的接口(譬如Apache POI,jacob,docx4j,openoffice),这些要么收费,要么要装插件,要么转换之后样式走形,乱码等等。
我使用Aspose.Words for Java 可以导出复杂WORD PDF HTML 多种数据格式
结果我的测试发现只能转换doc和docx文档
官方下载地址:https://products.aspose.com/words/java
我所用的版本是aspose-words-14.9.0-jdk16。文章最后附上插件破解版的下载地址以及源码
先看实现转换pdf文档的代码:
/**
* word文档转pdf,并添加水印
* @param inPath 需要转换的word文档地址
* @param outPath 存放的pdf文档地址
* @param watermarkText 水印内容
*/
public void wordTransformPdf(String inPath,String outPath,String watermark