我想要什么:我正在编辑一个WordprocessingDocument
,并在其中添加一些跟踪更改。这部分完成了。现在,我希望 MS Word默认显示所有修订,即它不应该要求用户单击红色侧栏来打开文档中的跟踪更改。
我做了什么:为此,我找到了一个类,它在元素下RevisionView
添加了 xml元素。有一些属性,如,等。我明确地将它们全部设置为.<w:revisionView />
settings.xml
w:settings
RevisionView
Comments
DisplayRevision
Formatting
true
RevisionView revView = new RevisionView();
revView.DisplayRevision = new OnOffValue(true);
revView.Formatting = new OnOffValue(true);
revView.InkAnnotations = new OnOffValue(true);
revView.Markup = new OnOffValue(true);
revView.Comments = new OnOffValue(true);
然后我将其添加revView
到Settings
:
Settings settings = wordprocessingDocument.MainDocumentPart.DocumentSettingsPart.Settings;
settings.RemoveAllChildren<RevisionView>();
settings.AppendChild(revView);
settings.Save();
然后我明确地查看了文档 xml,它在中添加了以下 xml settings
:
<w:revisionView w:markup="true" w:comments="true" w:insDel="true" w:formatting="true" w:inkAnnotations="true" />
但是在设置中添加这个元素不会影响视图。它没有显示默认打开的修订。
然后,出于测试目的,我将by handzoom
中的元素从更改为. 我的预期是:word 会从现在开始更改此文档的缩放比例。但它并没有这样做,即使在更改为in之后,缩放也是如此。settings.xml
<w:zoom w:percent="100" />
<w:zoom w:percent="120" />
100
120
100
120
settings.xml
还有一件事:我不能使用互操作,因为我必须将它部署到服务器,这就是为什么我使用 OpenXmlSdk 来做这一切。
我在问什么:
甚至可以做我想做的事吗?
如果是,那我做错了什么?是
RevisionView
选项,我应该依靠什么?有没有办法强制 word 应用(覆盖默认应用程序级别设置)中提供的设置
settings.xml
?为什么 word 不将缩放从 100 更改为 120?