分享一个超牛逼的 Java 文件在线预览项目(附源码)

强烈推介IDEA2020.2破解激活,IntelliJ IDEA 注册码,2020.2 IDEA 激活码
关注我们,设为星标,每天7:30不见不散,架构路上与您共享 

回复"架构师"获取资源


简介

基于 OpenOffice 服务将文件 (.doc、.docx、.xls、.ppt) 转化为pdf、html格式,然后直接在浏览器渲染输出。

内置功能

  • 文件上传功能

  • 文件转换功能

  • 文件预览功能

  • 远程文件预览功能

代码集成

基于 SpringBoot + OpenOffice 实现的项目案例,配置文件 application.properties 引入:
# 默认不开启 需要开启的设置成true
jodconverter.local.enabled=true
# 开启多个openOffice进程,每个端口对应一个进程
jodconverter.local.portNumbers=8100,8200
# openOffice进程重启前的最大进程数
jodconverter.local.maxTasksPerProcess=100
项目启动会自动生成两个转换进程,下面是伪代码实现:
@RestController
@RequestMapping("document")
public class ConverterController {

@Autowired
private DocumentConverter documentConverter;

/**
* 文件上传
*/

@RequestMapping("/upload")
public Result upload(MultipartFile file) {
try {
if (file != null) {
File parentFile = createParentFile();
String fileName = file.getOriginalFilename();
String suffix = fileName.substring(fileName.lastIndexOf("."));
String uuid = IdUtil.simpleUUID();
fileName = uuid + suffix;
File docFile = new File(parentFile, fileName);
FileUtil.writeFromStream(file.getInputStream(), docFile);
/**
* 年月日目录
*/

String fileDay = DateUtil.thisYear() + "/" + (DateUtil.thisMonth() + 1) + "/"
+ DateUtil.thisDayOfMonth();
String imagePath = SystemConstant.FILE + "/document/" + fileDay + "/" + fileName;
/**
* 实时转换
*/

logger.info("开始转换pdf......");
File toFile = new File(parentFile, uuid + ".pdf");
documentConverter.convert(docFile).to(toFile).execute();
logger.info("开始转换html......");
toFile = new File(parentFile, uuid + ".html");
converter( docFile,toFile);
return Result.ok(imagePath);
} else {
return Result.error();
}
} catch (Exception e) {
logger.error("转换异常{}",e);
return Result.error();
}
}
}

软件截图

分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)
分享一个超牛逼的 Java 文件在线预览项目(附源码)

小结

网上很多文章,Java 集成 OpenOffice 已经老得不能再老了,在 Linux 下还有各种启动问题,本案例只需要在系统中安装好相关服务,程序启动会自动生成 OpenOffice 进程。

项目地址


源码地址点击下方公众号
后台回复「在线」即可获取





这些年小编给你分享过的干货

1.SpringBoot物流管理项目,拿去学习吧(附源码)

2.ERP系统,自带进销存+财务+生产功能,拿来即用(附源码)

3.带工作流的SpringBoot后台管理项目快速开发(附源码)
4.最好的OA系统,拿来即用,非常方便(附源码)

5.SpringBoot+Vue完整的外卖系统,手机端和后台管理,附源码!

6.SpringBoot+Vue 可视化拖拽编辑的大屏项目(附源码)

分享一个超牛逼的 Java 文件在线预览项目(附源码)

分享一个超牛逼的 Java 文件在线预览项目(附源码)

转发在看就是最大的支持❤️

本文原创,作者:架构君,其版权均为Java架构师必看所有。如需转载,请注明出处:https://javajgs.com/archives/24508

发表评论