您的位置 首页 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>
        </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);
    }
}  

设置效果

相关功能 介绍:解密文档

 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  Restrict Editing {
    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);
    }
}  

设置效果

相关功能 介绍: 验证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", File Format.Docx_2013,"C:\\Users\\Test1\\Desktop\\gary.pfx","e-iceblue");
    }
}  

添加效果

文章来源:智云一二三科技

文章标题:Java 保护Word文档—加密保护、设置限制编辑保护、添加数字签名

文章地址:https://www.zhihuclub.com/197753.shtml

关于作者: 智云科技

热门文章

网站地图