深夜开源一个基于SpringBoot的文档上传、转换、预览项目

360 阅读2分钟

前言

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

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

开肝

话不多说,先上图。

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

转换

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

配置 pom.xml 引入:

`properties>
<openoffice.version>4.1.2</openoffice.version>
<jodconverter.version>4.3.0</jodconverter.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<java.version>1.8</java.version>

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 引入:

`# github.com/sbraconnier…
jodconverter.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`

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

@Resource private DocumentConverter documentConverter;

调用API:

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

小结

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