栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

一个超牛逼的 Java 文件在线预览项目

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

一个超牛逼的 Java 文件在线预览项目

简介
基于 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 集成 OpenOffice 已经老得不能再老了,在 Linux 下还有各种启动问题,本案例只需要在系统中安装好相关服务,程序启动会自动生成 OpenOffice 进程。
源码
源码地址:https://gitee.com/52itstyle/SPTools
演示地址:https://tools.cloudbed.vip
账号密码:admin admin2020
● 关键字 ●

●●● 回复下方关键字即可获取链接 ●●●
回复【101】获取Java零基础入门到精通系统培训课程

回复【102】获取Java从前端到后端全栈工程师实战课程视频教程

回复【200】获取Java架构面试题

回复【300】获取 AI 最新学习资料​

回复【400】获取 Python 100道面试题合集

回复【500】获取BAT等大厂Java面试经验总结含大厂面试题​​

回复【600】获取 Android 最新面试题合集

关注公众号:码农出击 在聊天对话框 回复上面关键字即可获取相应资源~

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/343197.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号