本文是基于若依架构集成openoffice转pdf
前言:电脑或者服务器必须安装Openoffice才能使用
1 application.yml引入配置:
# openOffice
jodconverter:
local:
# 默认不开启 需要开启的设置成true
enabled: false
# 设置openOffice主目录 默认会自动读取
office-home: C:\Program Files (x86)\OpenOffice 4\
# openOffice进程重启前的最大进程数
max-tasks-per-process: 10
# 开启多个openOffice进程,每个端口对应一个进程
port-numbers: 8100
2 pom引入依赖
<!-- openoffice -->
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>unoil</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>ridl</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>jurt</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.openoffice</groupId>
<artifactId>juh</artifactId>
<version>4.1.2</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-local</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-core</artifactId>
<version>4.3.0</version>
</dependency>
<dependency>
<groupId>org.jodconverter</groupId>
<artifactId>jodconverter-spring-boot-starter</artifactId>
<version>4.3.0</version>
</dependency>
3 代码:
@Autowired(required = false)
private DocumentConverter documentConverter;
/**
* 集成openoffice转换pdf
* 文件转换
*/
@RequestMapping("converter")
public AjaxResult converter() {
try {
documentConverter.convert(new File("C:\\Users\\Administrator\\Desktop\\备忘录.txt")).to(new File("C:\\Users\\Administrator\\Desktop\\备忘录.pdf")).execute();
} catch (OfficeException e) {
logger.error("转换失败{}", e);
return AjaxResult.error();
}
return AjaxResult.success();
}