常用的对word文档进行保护的方法有加密文档或者限制编辑。加密的文档需要密码才能被打开,限制编辑的文档打开时无需密码,但编辑权限受到限制,例如:不允许任何更改(只读),只允许填写窗体,只允许批注,只允许修订。本文将介绍使用spire.doc实现不同的保护类和移除密码保护。
用密码进行加密
c#
//初始化一个document实例并添加section
document doc = new document();
doc.addsection();
//设置密码
doc.encrypt("abc-123");
//保存文档
doc.savetofile("设置密码.docx", fileformat.docx2013);
vb.net
'初始化一个document实例并添加section
dim doc as document = new document
doc.addsection
'设置密码
doc.encrypt("abc-123")
'保存文档
doc.savetofile("设置密码.docx", fileformat.docx2013)
限制编辑
当新建一个文档或者加载一个现有的word文档到document对象后,我们可以调用protect(protectiontype type, string password)方法对文档进行选择性的保护。
c#
//不允许任何更改(只读),设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyreading, "123");
//只允许填写窗体,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyformfields, "123");
//只允许批注,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlycomments, "123");
//只允许修订,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyrevisions, "123");
vb.net
'不允许任何更改(只读),设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyreading, "123")
'只允许填写窗体,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyformfields, "123")
'只允许批注,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlycomments, "123")
'只允许修订,设置解除限制编辑的密码
doc.protect(protectiontype.allowonlyrevisions, "123")
效果示例:限制编辑,只读
解除密码保护
c#
//初始化一个document实例
document doc = new document();
//加载已加密文档,参数"adc-123"为文档密码
doc.loadfromfile("加密文档.docx", fileformat.docx2013, "abc-123");
//解除密码保护
doc.removeencryption();
//保存文档
doc.savetofile("解除密码.docx", fileformat.docx2013);
vb.net
'初始化一个document实例
dim doc as document = new document
'加载已加密文档,参数"adc-123"为文档密码
doc.loadfromfile("加密文档.docx", fileformat.docx2013, "abc-123")
'解除密码保护
doc.removeencryption
'保存文档
doc.savetofile("解除密码.docx", fileformat.docx2013)