我想创建一个用作模板的Word文档,其中除了用户可以编辑的文档中的内容控件(<sdt/>
元素)之外,所有文档都不会被编辑。
我看到的是,如果我锁定文档版本(现在我正在使用_markAsFinal
属性),则无法解锁单个内容控件。
我错过了什么吗?或者这是设计?
答案 0 :(得分:1)
在您的settings.xml文件中,您需要在<w:settings/>
下面添加如下元素:
<w:documentProtection w:edit="forms" w:enforcement="1" w:cryptProviderType="rsaFull"
w:cryptAlgorithmClass="hash" w:cryptAlgorithmType="typeAny" w:cryptAlgorithmSid="4"
w:cryptSpinCount="100000" w:hash="UrgUnH3e8g+JF+pZ0azudEQQUYY="
w:salt="dKkOT11EOm/O3alLt8NBbQ=="/>
您需要自行设置哈希和盐,您可以参考Ecma specs和implementation notes了解这些详细信息,但this is a really good tutorial可以直接进入。但是这样做是将所有编辑限制为仅内容控件。