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

如果你不相信努力和时光,那么成果就会是第一个选择辜负你的。不要去否定你自己的过去,也不要用你的过去牵扯你现在的努力和对未来的展望。不是因为拥有希望你才去努力,而是去努力了,你才有可能看到希望的光芒。C# 设置Word文档保护(加密、解密、权限设置),希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com,来源:原文

对于一些重要的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");
        }
    }
}

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

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

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

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 这里是设置了编辑权限的,如果想要编辑需要输入密码。

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

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

感谢浏览!

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/209484.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!