1

我有代码可以创建包含多个段落的文档,这些段落对于某些单词具有不同的文本颜色。就像是:

using (var doc = WordprocessingDocument.Create("some-file-name", WordprocessingDocumentType.Document))
{
    // Add a new main document part. 
    var mainPart = doc.AddMainDocumentPart();                                
    mainPart.Document = new Document();
    var body = new Body();

    var paragraph = new Paragraph();
    var run = new Run();
    ...
    // append bold text 
    run.AppendChild(new RunProperties {Bold = new Bold(), });
    run.AppendChild(new Text("some-text"));
    ...
    // append red text 
    run.AppendChild(new RunProperties
             { Color = new Color {Val = "FF0000"}});
    run.AppendChild(new Text("some-text"));

但是我还没有找到如何添加带有彩色背景的文本的方法。我怎样才能做到这一点?

4

2 回答 2

1

我发现我需要在运行属性中设置w:shd属性。我使用的是 docx4j,但主体是相同的。

于 2014-01-14T20:38:43.140 回答
1

让我自己回答:

背景是突出显示属性:

// yellow background sample 
run.AppendChild(new RunProperties { Highlight = new Highlight { Val = HighlightColorValues.Yellow } });
run.AppendChild(new Text("some-text"));
于 2013-01-16T07:37:46.600 回答