刚好遇到了,花了几个小时时间研究了下。
第一种:POI+iText PDFBox,试了下,效果不太行,比较差,而且有些中文以及格式不好处理
第二种:jacob 不支持linux,不考虑
第三种:aspose 收费,不考虑
第四种: jodconverter+openOffice/LibreOffice 就是我使用的这种,效果较好,兼容也可以
如下
maven依赖
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.4.0</version>
</dependency>
java伪代码
// 获取openoffice管理器(服务器需要安装OpenOffice的安装目录)
LocalOfficeManager localOfficeManager = LocalOfficeManager.builder().officeHome(ApplicationPropertiesUtils.getOfficeHome()).install().build();
// 判断openoffice服务是否打开
if(!localOfficeManager.isRunning()){
localOfficeManager.start();