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, но основной принцип тот же.