今天小伙伴遇到了个问题,使用Aspose.Words的insertHtml时,段后距无法直接通过builder.ParagraphFormat进行移除。
错误示例
builder.ParagraphFormat.SpaceAfterAuto = false;
builder.ParagraphFormat.SpaceAfter = 0;
分析原因
insertHtml插入Document节点中生成的是Section对象,因此要移除html中的段后距,应该操作Section对象Body的Paragraph
解决办法
遍历Section对象Body的段落节点Paragraph,再进行段后距移除即可。
for (int i = 0; i < doc.ChildNodes.Count; i++)
{
if (doc.ChildNodes[i].NodeType == NodeType.Section)
{
Section sect = (Section)doc.ChildNodes[i];
foreach (Paragraph para in sect.Body.Paragraphs)
{
para.ParagraphFormat.SpaceAfterAuto = false;
para.ParagraphFormat.SpaceAfter = 0;
}
}
}
小结
举一反三,通过insertHtml方法导出到word,想要调整html中的样式,都可以通过操作Section中Body下的元素进行相应配置。