使用 insertHtml 插入空段落

Insert empty paragraph using insertHtml

我尝试使用 DocumentBuilder 和 insertHtml 在 aspose words 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");

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

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

此外,如果您在 MS Word 中打开它,您会发现也没有空段落。

但是如果加上non-breakingspace,空段就在那里。

所以有两个选项可以保留一个空段落,要么将 non-breaking space 放入 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);