0

我正在获取一些数据,并从中生成自定义 XML 文件。我有一个包含富文本内容控件的 Microsoft Office Word 文档。我使用这种方法将数据绑定到内容控件:

private void BindControl(WordprocessingDocument doc, string controlTitle, DocumentFormat.OpenXml.StringValue xPathValue)
{
    DataBinding dataBinding = new DataBinding()
    {
        XPath = xPathValue,
        StoreItemId = "{SomeID}"
    };
    SdtElement sdtElement = doc.MainDocumentPart.Document.Descendants<SdtElement>()
        .Where(
            element =>
            element.SdtProperties.GetFirstChild<SdtAlias>() != null &&
            element.SdtProperties.GetFirstChild<SdtAlias>().Val == controlTitle).FirstOrDefault();
    if (sdtElement != null)
    {
        sdtElement.SdtProperties.Append(dataBinding);
    }
}

但是,此方法仅插入没有格式的文本。

我想让输出文档中的一些 thext 粗体,其他颜色不同,然后我必须制作超链接。

我试图在 XML 文件中插入 html 格式,但结果它没有呈现,只是显示。

4

1 回答 1

0

您不能绑定富文本内容控件。

[MS-DOCX]2.5.1.6 dataBinding修复了这个问题:

如果父结构化文档标签不是富文本类型(如 [ISO/IEC29500-1:2011] 第 17.5.2.26 节中指定),则其行为类似于 dataBinding(如 [ISO/IEC29500-1:2011] 节中指定) 17.5.2.6) 元素,否则存储在 XML 元素中的数据将是一个转义字符串,该字符串由一个扁平化的 WordprocessingML 文档组成,该文档表示结构化文档标记范围内的格式化数据。

但是,您可以在纯文本控件的内容控件属性中包含运行属性 (w:rPr)。

于 2013-09-20T08:51:25.543 回答