Spring Boot中整合JodConverter实现文件在线预览
1.安装LibreOffice 24.2
下载地址
LibreOffice 是一款功能强大的办公软件,默认使用开放文档格式 (OpenDocument Format , ODF), 并支持 *.docx, *.xlsx, *.pptx 等其他格式。
它包含了 Writer, Calc, Impress, Draw, Base 以及 Math 等组件,可用于处理文本文档、电子表格、演示文稿、绘图以及公式编辑。
它可以运行于 Windows, GNU/Linux 以及 macOS 等操作系统上,并具有一致的用户体验。
2.Maven依赖
<!--文件预览-->
<!--转换工具-->
<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>
3.配置文件
jodconverter:
local:
# 是否开启缓存
enabled: true
# libreOffice根目录
officeHome: C:\Program Files\LibreOffice
# 任务执行的超时时间
taskExecutionTimeout: 86400000
# 任务队列的超时时间
taskQueueTimeout: 86400000
# 端口(线程)
portNumbers: [2001,2002,2003]
# 一个进程的超时时间
processTimeout: 86400000
4.编写业务Controller
@Autowired
private DocumentConverter documentConverter;
@GetMapping(value = "/onlinePreview")
public void onlinePreview() {
File source = new File("D:\\aaa.xls");
File target = new File("D:\\测试.html");
try {
// source:源文件,target:转换后的文件
// word-->pdf
// ppt-->pdf
// excel-->html
documentConverter.convert(source).to(target).as(DefaultDocumentFormatRegistry.HTML).execute();
} catch (OfficeException e) {
e.printStackTrace();
}
}