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文档加密、解密以及文档操作权限设置的全部代码操作,代码供参考。如果喜欢,欢迎转载(转载请注明出处)。

感谢浏览!

 

优秀的个人博客,低调大师

微信关注我们

原文链接:https://yq.aliyun.com/articles/627823

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。