++
This commit is contained in:
@@ -360,7 +360,8 @@ internal static class MultiReplaceExt
|
||||
);
|
||||
|
||||
para.ParagraphProperties ??= new ParagraphProperties();
|
||||
para.ParagraphProperties.AppendChild(sectionProps);
|
||||
// Вставляем в начало, чтобы свойства секции были первыми
|
||||
para.ParagraphProperties.InsertAt(sectionProps, 0);
|
||||
}
|
||||
|
||||
/// <summary>Сливает содержимое исходного параграфа в целевой (клонирует дочерние элементы).</summary>
|
||||
@@ -549,15 +550,10 @@ internal static class MultiReplaceExt
|
||||
}
|
||||
}
|
||||
|
||||
// Если осталась отложенная ориентация (например, замена в конце документа, и не было создано новых параграфов),
|
||||
// создаём новый параграф с этой ориентацией (пустой, чтобы начать новую секцию)
|
||||
if (pendingOrientation.HasValue)
|
||||
{
|
||||
var newPara = CloneParagraphProperties(original);
|
||||
AddSectionProperties(newPara, pendingOrientation.Value);
|
||||
resultParas.Add(newPara);
|
||||
pendingOrientation = null;
|
||||
}
|
||||
// Если осталась отложенная ориентация и нет остатка текста,
|
||||
// это значит, что маркер смены ориентации был последним элементом в документе.
|
||||
// В этом случае мы НЕ создаём новый параграф, чтобы избежать пустого листа.
|
||||
// pendingOrientation просто игнорируется.
|
||||
|
||||
// Очистка пустых параграфов
|
||||
for (int i = resultParas.Count - 1; i >= 0; i--)
|
||||
|
||||
Reference in New Issue
Block a user