c#OpenXML - 如何在内容控件中设置富文本字符串并保留格式

时间:2012-07-05 19:28:16

标签: c# openxml contentcontrol richtext

原谅我,我迷失了,感到困惑!

我有一个包含多个纯文本内容控件的文档。到目前为止,我可以枚举文档中的SdtElements,找到所有感兴趣的SdtBlock并根据需要替换文本。

接下来,我有一个RichText格式的字段,我可以从数据库中检索字符串,现在需要将其插入到文档中。我在文档中设置了富文本内容控件,但如何使用富文本字符串设置/替换它并保留正确的格式?

为了让我更加困惑,当我使用“Word 2007内容控制工具包”打开文档时,它会按预期显示所有内容控件,并将其正确识别为Rich Text类型。但是,当我使用“Open XML SDK 2.0 Productivity Tool”打开文档时,它将富文本控件显示为一个简单的简单SdtBlock,它看起来与纯文本内容控件完全无法区分,并且反射的代码看起来相同?

然后如何在文档中设置RichText字符串?

1 个答案:

答案 0 :(得分:0)

纯文本和富文本内容控件由内容控件属性中的属性区分(w:sdt / w:sdtPr)。

富文本内容控件可以包含WordML段落和表格,或内联内容等,具体取决于它的级别(块,内联,表格行,表格单元格)。

因此,您需要将数据库内容转换为适当的WordML,或在内容控件中包含altChunk,并让Word为您执行此操作。