使用OpenXML SDK 2.0累积运行属性

我想知道我是否可以在Run上累积RunProperties

Run run = new Run(new Text("test"));
RunProperties runProperties = new RunProperties();
runProperties.AppendChild<Bold>(new Bold());
runProperties.AppendChild<Underline>(new Underline());
run.AppendChild<RunProperties>(runProperties);

在这种情况下,我只得到粗体文本,而没有下划线.

请帮忙

解决方法:

我尝试了您的示例,确实它对我来说只是大胆而没有强调.我做了一些工作,最终得到了以下结果:

using (WordprocessingDocument doc = WordprocessingDocument.Open(destFileName, true))
{

    Run run = new Run();
    RunProperties runProperties = new RunProperties();

    runProperties.AppendChild<Underline>(new Underline() { Val = DocumentFormat.OpenXml.Wordprocessing.UnderlineValues.Single });
    runProperties.AppendChild<Bold>(new Bold());
    run.AppendChild<RunProperties>(runProperties);
    run.AppendChild(new Text("test"));

    //Note: I had to create a paragraph element to place the run into.
    Paragraph p = new Paragraph();
    p.AppendChild(run);
    doc.MainDocumentPart.Document.Body.AppendChild(p);
}

基本上,这改变了:

new Underline() { Val = DocumentFormat.OpenXml.Wordprocessing.UnderlineValues.Single }

您必须指定所需的下划线类型,而不仅仅是将其交给Underline类的构造函数.我只指定了Single,它对我有用.

上一篇:Java文本编辑器,带有用于桌面应用程序的示例功能


下一篇:字符串数组文本格式