开源一个基于SpringBoot的文档上传、转换、预览项目
发布日期:2021-06-29 06:40:04 浏览次数:3 分类:技术文章

本文共 2056 字,大约阅读时间需要 6 分钟。

点击▲关注 “爪哇笔记”   给公众号标星置顶

更多精彩 第一时间直达

前言

群里有小伙伴问,撸主有没有文档管理的功能模块给参考一下。恰好,撸主之前做过文档预览的案例,怎么说呢,这是个伤感的话题,撸主的案例随着前公司的破产倒闭随风而去了。

去屎去了,撸主一点都不慌,凭着模糊的印象,一晚撸了一个简单的文档管理模块,的确是简单了那么一丢丢,但是不影响体验,后面会慢慢优化,直到大家足够满意。

开肝

话不多说,先上图。

功能提供了文档上传、后台转换、前台下载、前台预览功能,小伙伴们可以上传 Excel、Word、Pdf文档,后台会默认转为Pdf文档,并可以在前台预览显示。目前只支持PC端预览,后期会配合前端插件实现多端预览。

转换

系统后台使用了开源的 openoffice 作为转换组件,国外的网站真是卡巴斯基,撸主花了好久找到了 W 和 L 下的安装包,由于文件太大,已经共享在QQ群。

配置 pom.xml 引入:

properties>    
4.1.2
4.3.0
UTF-8
1.8
org.openoffice
unoil
${openoffice.version}
org.openoffice
ridl
${openoffice.version}
org.openoffice
jurt
${openoffice.version}
org.openoffice
juh
${openoffice.version}
org.jodconverter
jodconverter-local
${jodconverter.version}
org.jodconverter
jodconverter-core
${jodconverter.version}
org.jodconverter
jodconverter-spring-boot-starter
${jodconverter.version}

配置 application.properties 引入:

# https://github.com/sbraconnier/jodconverterjodconverter.local.enabled=true# 设置openOffice主目录 可省略 默认会自动读取系统安装路径jodconverter.local.office-home=C:/Program Files (x86)/OpenOffice 4# 开启多个openOffice进程,每个端口对应一个进程jodconverter.local.portNumbers=8100,8200# openOffice进程重启前的最大进程数jodconverter.local.maxTasksPerProcess=100

我们只需要在使用中的地方引入以下代码:

@Resourceprivate DocumentConverter documentConverter;

调用API:

documentConverter.convert(fromFile).to(toFile).execute();

小结

由于前期整合了工作流,数据库上线到演示环境又各种大小写区分的问题,某云数据库面板又卡的要死,捯饬了半天,终于搞定了,深夜又撸了一点简单的部署文档,实在是肝不动了。

柒哥的宗旨一直是免费开源,关注我的小伙伴都了解,码云上曾开源过十几个项目,很多小伙伴都曾表示很实用。如果大家觉得不错可以分享给身边的朋友,你们的支持是我更新最大的动力,谢谢。

获取方式 

1. 识别下方二维码

2. 后台回复「666」即可获取

▲一个有温度的公众号,期待与你一起进步

转载地址:https://blog.csdn.net/zhulin2012/article/details/108633589 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:Spring Boot 开发最佳实践
下一篇:十万行级别数据的 Excel 导入优化之路

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月17日 00时48分06秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

大学物理·速过·第一章:运动和力 2019-04-29
元胞自动机 2019-04-29
三步解决Vue项目axios跨域问题 2019-04-29
Vue项目vue-awesome-swiper问题(样式, pagination, autoplay等) 2019-04-29
Vue项目解决better-scroll无法滚动 2019-04-29
`Model.XXX` is not supported when the `Model` instance was constructed with eager mode enabled 2019-04-29
QT--QTableWidget中;设置单击单元格响应不同事件(强烈建议参阅) 2019-04-29
RTE 2020 实时互联网大会参会指南——明天我们线上见! 2019-04-29
RTE 2020实时互联网大会今日开幕 探讨实时互动的场景化创新与技术衍变 2019-04-29
声网发布Agora云市场2.0计划 全球注册应用开发者突破21万 2019-04-29
10个颠覆性创业项目来了!RTE 2020 实时互联网创业挑战赛圆满收官 2019-04-29
用VScode 插件做代码同步演示,原来实时信令控制还能这么玩 2019-04-29
RTC 月度小报 10 月 | 「RTE 2020实时互联网大会」顺利落幕、获奖算法模型开源 2019-04-29
声网Agora 2020 年 Q3 财报 2019-04-29
声网 X 牛客网 200万场视频面试背后的实时互动技术支撑 2019-04-29
声网X智能作业灯 台灯如何成为在线作业辅导新神器? 2019-04-29
RTC 月度小报 11 月 | 开发者社区全新上线、WebRTC 镜像、大会回顾…… 2019-04-29
社区「学习周」喊你来打卡 2019-04-29
RTE 大会回顾 | 基于 Web 引擎技术的 Web 内容录制 2019-04-29
CODING DevOps 演讲回顾:声网 Agora SDK 测试最佳实践 2019-04-29