Java给Word文档增加密码
前言
项目上有这么一个需求,就是前端上传一个word文档后,需要对其加一个密码,保证安全性,密码入库,当下载人下载后告诉他密码,才能打开,下面记录下实现方案
实现
找了一下,发现了一个spring-doc的第三方工具类,需要引入jar包或导入maven依赖,jar下载连接
引入依赖
这个工具的maven依赖比较奇葩,用的他自己的仓库,所以我们直接引入依赖是无法下载的,还得配置仓库地址,这个是官网的引入文档,按照他的操作了一番,发现还是无法引入,算了,我直接把jar包下载下来,手动导入吧,因为我们都maven项目架构,不能直接导入jar包到项目里,所以需要把jar包安装到本地仓库才行
安装jar包到本地仓库
通过以下命名把第三方jar包安装到本地仓库
1 | mvn install:install-file -Dfile=D:/spire.doc.free-5.2.0.jar -DgroupId=com.dhsr -DartifactId=springdoc -Dversion=1.0.0 -Dpackaging=jar |
D:/spire.doc.free-5.2.0.jar
这个是你存放jar的路径,需要你替换为你自己的jar路径
com.dhsr
这个是groupId,我们引入依赖需要这个,这个你自己随便起,符合命名规范就行
springdoc
这个是DartifactId,和上面的一样,自己起名
1.0.0
这个是版本号,如果有版本号的填上,没有就随便一个
执行后出现 Success 字样就表示安装到本地成功,
然后引入依赖
1 | <dependency> |
使用
1 | Document doc = new Document(filePath); |
Document
注意导包不要导错了,这个很多包里都有这个类,正确的包是这个com.spire.doc.Document
,
上面代码就是给文档加个密码,最后覆盖保存未加密的文档
结语
1、这个工具还有其他的很多功能,比如解密的,或者excel的等等,其他功能可自行搜索springdoc
关键字查看
2、一般情况下,不要自己去码代码去实现这种复杂的功能,先去找找有没有相关的工具类,开源的实现方案等,因为自己实现代价太大,还容易出错