WordprocessingML. Как назначить цвет фона для текста?

У меня есть код, который создает документ с несколькими абзацами с разным цветом текста для некоторых слов. Что-то вроде:

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"));

Но я не нашел способ добавить текст с цветным фоном. Как я могу это сделать?

2 ответа

Позвольте мне ответить себе:

Фон является свойством Highlight:

// yellow background sample 
run.AppendChild(new RunProperties { Highlight = new Highlight { Val = HighlightColorValues.Yellow } });
run.AppendChild(new Text("some-text"));

Я обнаружил, что мне нужно установить свойство w:shd в свойствах запуска. Я использовал docx4j, но основной принцип тот же.

Другие вопросы по тегам