OpenXML: разрешить редактирование элементов управления содержимым в заблокированном документе Word - PullRequest
1 голос
/ 29 июля 2010

Я хочу создать документ Word, который работает как шаблон, в котором весь документ заблокирован для редактирования, кроме элементов управления содержимым (<sdt/> элементов) в документе, который пользователь может редактировать.

Что я видел, так это то, что если я заблокирую редакцию документа (сейчас я использую свойство _markAsFinal), то нет никакого способа разблокировать один элемент управления контентом.

Я что-то упустил? Или это по замыслу?

1 Ответ

1 голос
/ 30 июля 2010

В вашем файле 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 и примечания к реализации для этих деталей, но это действительно хороший учебник , чтобы просто сразу перейти. Но это ограничивает редактирование только элементы управления содержимым.

...