使用OpenXML,我将一些文本插入到我知道将被标记为拼写不正确的文档中(因为它是产品名称)并且在文件中将标记为愤怒的红线/波浪形在Word中打开。如何标记XML以使其知道该单词的拼写是否正确?
我已经尝试过使用ProofError,将它放在与我的段落和运行相关的不同位置以及不同的类型值,但无法弄清楚是否有&#39 ;使用它来标记不错误的方法。
答案 0 :(得分:2)
ProofError
实际上是用愤怒的红线标记文本。要在运行中排除拼写/语法检查中的文本,请使用noProof
。
让我们说你在奔跑中得到了一个词:
<w:p>
<w:r>
<w:t>Cfgcfgcyhgjguih</w:t>
</w:r>
</w:p>
你可以告诉单词客户端的拼写/语法检查引擎忽略这个单词进行检查,在运行属性中如下所示
<w:p>
<w:rPr>
<w:noProof w:val="true"/>
</w:rPr>
<w:r>
<w:t>Cfgcfgcyhgjguih</w:t>
</w:r>
</w:p>
您还可以全局禁用拼写/语法检查引擎,通过在文档settings
部分中指定为:
<w:proofState w:spelling="clean" w:grammar="clean"/>
以上内容阻止客户端的拼写/语法检查启动,直到下一次对文档进行编辑为止。
希望这会有所帮助。
答案 1 :(得分:1)
刚刚在c#中添加了代码片段。
创建NoProof
类的实例并将其值设置为true
,然后附加到RunProperties
的实例
NoProof np = new NoProof();
np.Val = OnOffValue.FromBoolean(true);
runProp.Append(np);
答案 2 :(得分:1)
如果您正在使用SDK,则可以执行以下操作来隐藏整个文档中的所有拼写错误:
var hideSpellingErrors = new HideSpellingErrors();
hideSpellingErrors.Val = OnOffValue.FromBoolean(true);
document.MainDocumentPart.Document.Append(hideSpellingErrors);
这在以下情况下非常有用 - 在我的情况下 - 您可以从模板中自动生成文档,其中知道所有文本都拼写正确。此外,当您动态添加的内容来自外部来源或充满特定于域的词语时 - 例如药品术语。