OpenXML:允许编辑锁定的Word文档中的内容控件

时间:2010-07-29 17:41:46

标签: controls ms-word document openxml

我想创建一个用作模板的Word文档,其中除了用户可以编辑的文档中的内容控件(<sdt/>元素)之外,所有文档都不会被编辑。

我看到的是,如果我锁定文档版本(现在我正在使用_markAsFinal属性),则无法解锁单个内容控件。

我错过了什么吗?或者这是设计?

1 个答案:

答案 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 specsimplementation notes了解这些详细信息,但this is a really good tutorial可以直接进入。但是这样做是将所有编辑限制为内容控件。