ReplaceToTable debug

This commit is contained in:
melekhin
2026-09-24 14:41:55 +07:00
parent fab3528e57
commit e4ce91c53f
@@ -54,45 +54,8 @@ internal static class DynamicReplaceToTableExt
else if (baseFont is not null)
fontProps = baseFont;
ReplaceWithTableBuilderDynamic(paragraph, param, buildTable, fontProps);
ReplaceToTableExt.ReplaceWithTableBuilder(paragraph,
builder => buildTable(param, builder), fontProps);
}
}
/// <summary>
/// Создаёт TableBuilder, вызывает пользовательский делегат, заменяет параграф таблицей.
/// (Копия <see cref="ReplaceToTableExt.ReplaceWithTableBuilder"/> с добавленным param.)
/// </summary>
private static void ReplaceWithTableBuilderDynamic(
Paragraph paragraph,
string param,
Action<string, ITable> buildTable,
FontProps? baseFont)
{
if (paragraph is null || paragraph.Parent is null || buildTable is null)
return;
var parent = paragraph.Parent;
var builder = TableBuilder.Create(baseFont);
buildTable(param, builder);
var table = builder.Build();
int paraIndex = -1;
var children = parent.ChildElements;
for (int i = 0; i < children.Count; i++)
{
if (children[i] == paragraph)
{
paraIndex = i;
break;
}
}
if (paraIndex == -1)
return;
parent.RemoveChild(paragraph);
parent.InsertAt(table, paraIndex);
}
}