diff --git a/src/MiniWord/MiniWord.Implment.cs b/src/MiniWord/MiniWord.Implment.cs index e6bf400c3a956caf8fd4246018eef337ae95d993..48fa3112609876efcf354d49c76a4669db3a9b3f 100644 --- a/src/MiniWord/MiniWord.Implment.cs +++ b/src/MiniWord/MiniWord.Implment.cs @@ -458,6 +458,23 @@ private static void ReplaceText(OpenXmlElement xmlElement, WordprocessingDocumen { newText = tag.Value?.ToString(); } + if (newText.IsNotBlank()) + { + var vs = newText.Split(new char[] { '\r', '\n' }); + var currentT = t; + var isFirst = true; + foreach (var v in vs) + { + var newT = t.CloneNode(true) as Text; + newT.Text = t.Text.Replace($"{{{{{tag.Key}}}}}", v?.ToString()); + if (isFirst) + isFirst = false; + else + run.Append(new Break()); + run.Append(newT); + currentT = newT; + } + } t.Text = t.Text.Replace($"{{{{{tag.Key}}}}}", newText); } }