使用insertHtml插入空段落

问题描述

我尝试使用DocumentBuilder和insertHtml用aspose单词java(v.20.6)填充文档。 但是,当我插入空的段落时,它们在单词中将被忽略。 不能用insertHtml插入空的段落吗?

示例:

Document doc = new Document("tmp.docx");
DocumentBuilder builder = new DocumentBuilder(doc);
builder.moveToBookmark("Text",false,false);
builder.insertHtml("<p>Before empty paragraph</p><p></p><p>After empty paragraph</p>",true);
doc.save("C:/TMP/doc.docx");

解决方法

Aspose.Words忽略HTML中的空段落以模仿MS Word和浏览器的行为。如果您在任何浏览器中打开以下HTML,则不会看到空白的段落。

<html>
<body>
    <p>Before empty paragraph</p><p></p><p>After empty paragraph</p>
</body>
</html>

此外,如果您在MS Word中打开它,您也会注意到也没有空的段落。 enter image description here

但是,如果添加不间断空格,则存在空白段落。 enter image description here

因此,有两个选项可以保留一个空的段落,或者将不间断的空格放入HTML字符串的空段落中

builder.insertHtml("<p>Before empty paragraph</p><p>&nbsp;</p><p>After empty paragraph</p>",true);

或使用DocumentBuilder.writeln方法

builder.insertHtml("<p>Before empty paragraph</p>",true);
builder.writeln();
builder.insertHtml("<p>After empty paragraph</p>",true);

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...