C# 设置Word文档保护(加密、解密、权限设置)

对于一些重要的word文档,出于防止资料被他人查看,或者防止文档被修改的目的,我们在选择文档保护时可以选择文档打开添加密码或者设置文档操作权限等,在下面的文章中将介绍如何使用类库Free Spire.Doc for .NET来加密、解密以及给文档设置操作权限等,主要分为以下几个要点来具体阐述

  • 添加Word密码保护
  • 解除Word密码保护
  • 设置word文档操作权限
  • 设置Word部分内容编辑权限

工具使用: 安装Free Spire.Doc之后,在程序中引用Spire.Doc.dll即可(dll可以在安装路径下的Bin文件夹中获取)

1.  Word文档加密

using Spire.Doc;

namespace EncryptWord_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化一个Document类实例并加载需要加密的Word文档
            Document doc = new Document(@"C:\Users\Administrator\Desktop\sample.docx");
            //设置打开Word文档的密码
            doc.Encrypt("abc123");
            //保存并打开文档
            doc.SaveToFile("加密文件.docx", FileFormat.Docx2013);
            System.Diagnostics.Process.Start("加密文件.docx");
        }
    }
}

调试运行程序,生成文档后,可见如下文档效果:

正确输入密码后就可以打开文档了。

2.  Word文档解密

using Spire.Doc;

namespace DecryptWord_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //初始化一个Document类实例
            Document doc = new Document();
            //加载密码参数为"adc123"的Word文档
            doc.LoadFromFile("加密文件.docx", FileFormat.Docx2013, "abc123");

            //调用方法RemoveEncryption()解除密码保护
            doc.RemoveEncryption();
            //保存文档并打开文档
            doc.SaveToFile("解密文件.docx", FileFormat.Docx2013);
            System.Diagnostics.Process.Start("解密文件.docx");
        }
    }
}

此时打开文档时已经没有密码保护了。

3.  Word文档操作权限设置

(这里提供了4种不同类型的操作权限,可以根据自己的需要选择相应的类型)

using Spire.Doc;

namespace EditPermissions_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //新建一个Document类对象并加载需要设置编辑权限的Word文档
            Document doc = new Document(@"C:\Users\Administrator\Desktop\sample.docx");
                  
            //不允许任何更改(只读),设置解除限制编辑的密码
            doc.Protect(ProtectionType.AllowOnlyReading, "123");

            //只允许填写窗体,设置解除限制编辑的密码
            doc.Protect(ProtectionType.AllowOnlyFormFields, "123");

            //只允许批注,设置解除限制编辑的密码
            doc.Protect(ProtectionType.AllowOnlyComments, "123");

            //只允许修订,设置解除限制编辑的密码
            doc.Protect(ProtectionType.AllowOnlyRevisions, "123");

            //保存并预览文件
            doc.SaveToFile("有限权限文档3.docx",FileFormat.Docx2013);
            System.Diagnostics.Process.Start("有限权限文档3.docx");
        }
    }
}

4. 设置部分文档内容权限

(当文档中部分内容不想被他人修改时,也可以设置该部分内容的可编辑权限,参考如下代码。)

using Spire.Doc;

namespace LockSpecifiedSections_Doc
{
    class Program
    {
        static void Main(string[] args)
        {
            //创建一个Document类对象
            Document doc = new Document();  
            //初始化2个section类实例,并添加文本内容到section
            Section s1 = doc.AddSection();
            Section s2 = doc.AddSection();
            s1.AddParagraph().AppendText("section 1");
            s2.AddParagraph().AppendText("section 2");

            //设置保护模式及密码
            doc.Protect(ProtectionType.AllowOnlyFormFields, "123");
            //设置section2 的保护属性为false,即,可编辑
             s2.ProtectForm = false;

            //保存并打开文档
            doc.SaveToFile("Protect_Section.docx",FileFormat.Docx2010);
            System.Diagnostics.Process.Start("Protect_Section.docx");
        }
    }
}

此时,生成的文档中,section1 这里是设置了编辑权限的,如果想要编辑需要输入密码。

以上全部内容为本次关于Word文档加密、解密以及文档操作权限设置的全部代码操作,代码供参考。如果喜欢,欢迎转载(转载请注明出处)。

感谢浏览!

 

加密软件漏洞评测系统是一个非常专业的文档透明加密系统测试软件。这款文档透明加密系统功能强大,除了漏洞评测之外, 还可以进行剪切板控制、虚拟打印机、截屏等实用功能,让你评测更加标准!   加密软件漏洞评测系统使用说明:   在安装了文档透明加密软件的电脑上,用该工具对需要解密测试的文件进行打包( 打包后的文件   名默认为Crack.crk)。将打包后的文件复制到未安装加密软件的电脑上,用文件提取程序(GetFile.exe)   来提取文件,则提取出来的文件为明文文件(目前对市场上的所有文档透明加密系统均有效)。   加密软件漏洞评测系统使用方法如下:   1、打开FileDecrypt.exe;   2、切换到【伪造程序】页,如果你要解密Word文件,在程序伪造成中选择microsoft Word,如果你要解密Excel,则程序伪造成选择Microsoft Excel.以此类推。   3、返回【解密】页,打包模式选择Mode2、Mode3、Mode4、Mode5或Mode7。   4、添加要解密文件,并点击打包。   5、将打包后的文件(Crack.crk)copy到未安装加密软件的电脑上   6、用GetFile.exe程序打开打包文件(Crack.crk)   7、提取文件(需要注册后才能提取,如果你还未注册,需要测试是否能正常提取,则可将crack.crk文件发给我,我提取后再发给你) 如果你在加密系统环境下,发现无法启动FileDecrypt.exe,你有以下三个解决途径: 1、在FileDecrypt.exe目录下,建立一个FileDecrypt.ini文件,双击FileDecrypt.exe通常都可正常启动。 2、使用DOS使用命令来启动程序,命令格式如下: D:\FileDecrypt.exe -R 2 3、联系我来解决。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值