C# 设置Word文档保护(加密、解密、权限设置)
2021-04-20 17:27
标签:C# .NET Word API 控件 免费类库 Word 加密、解密 调试运行程序,生成文档后,可见如下文档效果: 此时打开文档时已经没有密码保护了。 (这里提供了4种不同类型的操作权限,可以根据自己的需要选择相应的类型) (当文档中部分内容不想被他人修改时,也可以设置该部分内容的可编辑权限,参考如下代码。) 此时,生成的文档中,section1 这里是设置了编辑权限的,如果想要编辑需要输入密码。 以上全部内容为本次关于Word文档加密、解密以及文档操作权限设置的全部代码操作,代码供参考。如果喜欢,欢迎转载(转载请注明出处)。 C# 设置Word文档保护(加密、解密、权限设置) 标签:C# .NET Word API 控件 免费类库 Word 加密、解密 原文地址:http://blog.51cto.com/eiceblue/2089067
工具使用: 安装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文档操作权限设置
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");
}
}
}
感谢浏览!
下一篇:C#动态生成XML
文章标题:C# 设置Word文档保护(加密、解密、权限设置)
文章链接:http://soscw.com/index.php/essay/77230.html