Как вставить пробел между словами при создании docx? Использую openxml
Создаю абзац из отдельных слов. Не могу найти как вставить между ними пробел.
Paragraph paragraph1 = body.AppendChild(new Paragraph());
Run run2 = paragraph1.AppendChild(new Run());
run2.AppendChild(new Text(" Чорный "));
RunProperties rPr1 = new RunProperties();
rPr1.Color = new Color() { Val = "FF070F" };
rPr1.AppendChild(new Text(" красный "));
run2.Append(rPr1);
RunProperties rPr2 = new RunProperties();
rPr2.FontSize = new FontSize() { Val = "64" };
rPr2.Color = new Color() { Val = "C6E0FF" };
rPr2.AppendChild(new Text("Большой, светлосиний"));
run2.Append(rPr2);
Ответы (1 шт):
Автор решения: Віктор
→ Ссылка
Код:
{ Space = SpaceProcessingModeValues.Preserve }
Разрешает отображать пробелы. Можно вставить несколько пробелов:
run2.AppendChild(new Text(" Чорний ") { Space = SpaceProcessingModeValues.Preserve });
Будет 4 пробела до слова и 5 после.
Найденое во время экспериментов:
run2.AppendChild(new Break()); // перенос строки
run2.AppendChild(new TabChar()); // табуляция
По итогу вышло так:
Paragraph paragraph1 = body.AppendChild(new Paragraph());
Run run2 = paragraph1.AppendChild(new Run());
run2.AppendChild(new Text("Чорний ") { Space = SpaceProcessingModeValues.Preserve });
RunProperties rPr1 = new RunProperties();
rPr1.Color = new Color() { Val = "FF070F" };
rPr1.AppendChild(new Text("красный ") { Space = SpaceProcessingModeValues.Preserve });
run2.Append(rPr1);
RunProperties rPr2 = new RunProperties();
rPr2.FontSize = new FontSize() { Val = "64" };
rPr2.Color = new Color() { Val = "C6E0FF" };
rPr2.AppendChild(new Text("Большой, светлосиний"));
run2.Append(rPr2);