private static List<Aspose.Words.Node> BreakNode(Aspose.Words.Run run, out string
{
errMsgs = string.Empty;
try
{
List<Aspose.Words.Node> listRuns = new List<Aspose.Words.Node>();
if (run.Range.Text.Length == 1)
{
listRuns.Add(run);
return listRuns;
}
else
{
Aspose.Words.Run tempRun;
while (run.Range.Text.Length > 1)
{
tempRun = SplitRun(run, 1);
listRuns.Add(tempRun);
}
listRuns.Add(run);
return listRuns;
}
}
catch (System.Exception ex)
{
errMsgs = "粉碎计划失败!" + ex.ToString();
return null;
}
return null;
}
/// <summary>
/// 切割Run
/// </summary>
/// <param name="run"></param>
/// <param name="position"></param>
/// <returns></returns>
private static Aspose.Words.Run SplitRun(Aspose.Words.Run run, int position)
{
try
{
Aspose.Words.Run beforeRun = (Aspose.Words.Run)run.Clone(true);
beforeRun.Text = run.Text.Substring(0, position);
run.Text = run.Text.Substring(position);
run.ParentNode.InsertBefore(beforeRun, run);
return beforeRun;
}
catch (System.Exception ex)
{
return null;
}
}
Aspose.Words 拆解单Run为多个Run
于 2022-11-10 10:30:45 首次发布