【问题标题】:Insert empty paragraph using insertHtml使用 insertHtml 插入空段落
【发布时间】:2020-09-30 13:29:57
【问题描述】:

我尝试使用 DocumentBuilder 和 insertHtml 在 aspose 单词 java (v.20.6) 中填写文档。 但是当我插入空段落时,它们会在 word 中被忽略。 用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");

【问题讨论】:

    标签: java html aspose aspose.words


    【解决方案1】:

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

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

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

    但是如果添加不间断空格,则空段落就在那里。

    所以有两个选项可以保留一个空段落,或者在 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);
    

    【讨论】:

    • 感谢您的回答。我不明白为什么我必须放一个  在段落中。但它有效。
    • @BenjaminSchüller 我更新了我的答案来解释这种行为。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多