У меня есть шаблон Word с закладками, которые я заполняю во время выполнения.Весь текст шаблона уже настроен на выравнивание.Если я добавлю только один фрагмент текста в закладку, тогда все в порядке, но теперь я сталкиваюсь с проблемой, когда одна закладка может содержать несколько строк с разрывами строк между ними.Код, который работает для одного фрагмента текста, находится здесь:
foreach (BookmarkStart bookMarkStart in doc.MainDocumentPart.RootElement.Descendants<BookmarkStart>())
{
if (bookMarkStart.Name == "Author")
{
var id = bookMarkStart.Id.Value;
var bookmarkEnd = bookMarkEnds.Where(i => i.Id.Value == id).First();
var runElement = new Run(new Text(author));
bookmarkEnd.Parent.InsertAfter(runElement, bookmarkEnd);
}
}
До сих пор я пробовал много вещей, и самое близкое, что я нашел, - это добавить разрыв к бегу и добавить новый текст после него.Однако проблема, с которой я столкнулся, заключается в том, что предыдущая строка выровнена так, что текст растягивается на всю строку - например, если присутствуют только два слова, то одно выровнено с левой стороны документа, а второе - с правой стороны.,Если я добавляю несколько строк текста, то только последняя является правильной.
Я добавляю несколько строк следующим образом:
var id = bookMarkStart.Id.Value;
var bookmarkEnd = bookMarkEnds.Where(i => i.Id.Value == id).First();
var runElement = new Run();
runElement.Append(new Text(text1));
runElement.Append(new Break());
runElement.Append(new Text(text2));
bookmarkEnd.Parent.InsertAfter(runElement, bookmarkEnd);
У кого-нибудь есть идеи, как этого добиться?