我们将有一些模板docx文件,其中将包含一些标签,例如$ {content}。我需要将此标记替换为HTML。
为此,我想在XWPFDocument中使用altChunk元素。在How to add an altChunk element to a XWPFDocument using Apache POI中回答之后,我可以将altChunk放在docx的末尾。
如何用它替换我的标签?还是我可以使用其他任何库,例如docx4j?
答案 0 :(得分:2)
如果“ $ {content}”在其自身的IBodyElement中,则通过找到IBodyElement
,创建XmlCursor
,插入altChunk
来解决该要求。 ,则可以删除IBodyElement
。
以下代码通过扩展How to add an altChunk element to a XWPFDocument using Apache POI中的示例来说明这一点。它提供了一种方法,用于将包含特殊文本的找到的IBodyElement
替换为引用altChunk
的{{1}}。它使用MyXWPFHtmlDocument
获取文本正文中所需的位置。代码中注释了XmlCursor
的用法。
template.docx:
代码:
XmlCursor
result.docx: