java中加密与解密(Java保护Word文档加密保护)

前言

在日常操作Word文档时,为了避免文档中的重要数据信息泄露造成损失,我们时常需要对其进行保护。根据需求不同,我们保护文档的方式也会有些差异。在这篇文章中,我将介绍三种保护Word文档的方式,它们分别是:加密保护、设置限制编辑保护以及添加数字签名。

需要注意的是,我是要通过在后端运行Java代码来完成上述操作,这样子我就不需要安装Microsoft Office了。同时我还需要用到Spire.Doc for Java第三方控件。

测试环境

· JDK 1.8.0

· Intellij IDEA 2019

· Spire.Doc.jar (可在E-iceblue中文官网获取,或在Maven仓库的pom.xml中引入以下代码)

<repositories> <repository> <id>com.e-iceblue</id> <name>e-iceblue</name> <url>http://repo.e-iceblue.com/nexus/content/groups/public/</url> </repository> </repositories> <dependencies> <dependency> <groupId>e-iceblue</groupId> <artifactId>spire.doc</artifactId> <version>4.5.1</version> </dependency> </dependencies>

代码示例

方式一 加密Word文档

import com.spire.doc.Document; import com.spire.doc.FileFormat; public class EncryptWord { public static void main(String[] args) { //创建Document对象 Document document = new Document(); //加载一个Word文档 document.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx"); //使用密码保护文档 document.encrypt("iceblue123"); //保存文档 document.saveToFile("output/EncryptWord.docx", FileFormat.Docx); } }

设置效果

java中加密与解密(Java保护Word文档加密保护)(1)

相关功能介绍:解密文档

import com.spire.doc.Document; import com.spire.doc.FileFormat; public class DecryptWord { public static void main(String[] args) { //创建Document对象 Document document = new Document(); //加载一个有密码的文档,同时解除密码 document.loadFromFile("C:\\Users\\Test1\\Desktop\\EncryptWord.docx", FileFormat.Docx, "iceblue123"); //保存文档. document.saveToFile("output/DecryptWord.docx", FileFormat.Docx); } }

方式二 设置限制编辑保护

import com.spire.doc.Document; import com.spire.doc.FileFormat; import com.spire.doc.ProtectionType; public class RestrictEditing { public static void main(String[] args) { //创建Document实例 Document document = new Document(); //加载Word文档 document.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx"); //设置编辑限制的类型及文档保护密码 //不允许任何更改(只读) document.protect(ProtectionType.Allow_Only_Reading, "red456"); //仅允许批注 //document.protect(ProtectionType.Allow_Only_Comments, "blue123"); //仅允许填写窗体 //document.protect(ProtectionType.Allow_Only_Form_Fields, "yellow789"); //仅允许修订 //document.protect(ProtectionType.Allow_Only_Revisions, "purple012"); //保存文档 document.saveToFile("output/RestrictEditing.docx", FileFormat.Docx_2013); } }

设置效果

java中加密与解密(Java保护Word文档加密保护)(2)

相关功能介绍:验证Word文档的限制编辑密码

import com.spire.doc.Document; public class VerifyRestrictEditingPassword { public static void main(String[] args) { //创建Document实例 Document document = new Document(); //加载Word文档 document.loadFromFile("C:\\Users\\Test1\\Desktop\\RestrictEditing.docx"); //验证文档的限制编辑密码是否正确 boolean result = document.checkProtectionPassWord("red456"); if(!result) { System.out.println("密码错误!"); } else { System.out.println("密码正确!"); } } }

方式三 添加数字签名

import com.spire.doc.*; public class DigitalSignature { public static void main(String[] args) { //加载Word文档 Document doc = new Document(); doc.loadFromFile("C:\\Users\\Test1\\Desktop\\Sample.docx"); //添加数字签名,并保存文档 doc.saveToFile("output/AddSignature.docx",FileFormat.Docx_2013,"C:\\Users\\Test1\\Desktop\\gary.pfx","e-iceblue"); } }

添加效果

java中加密与解密(Java保护Word文档加密保护)(3)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页