当在html中有加下划线的文本加斜体时,生成的docx会丢失下划线。
pom.xml依赖项:
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-ImportXHTML</artifactId>
<version>3.3.1</version>
</dependency>
示例摘录:
public class UnderlineTests {
static final String TEST_STRING = "<html><body><p><em>Italics</em></p>" +
"<p><strong>Bold</strong></p>" +
"<p><u>Underlined</u></p>" +
"<p><strong><em>BoldItalics</em></strong></p>" +
"<p><u><em>ItalicsUnderlined</em></u></p>" +
"<p><strong><u>BoldUnderlined</u></strong></p></body></html>";
public static void main(String[] args) throws ParserConfigurationException, Docx4JException {
WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.A4, true);
XHTMLImporterImpl XHTMLImporterForContent = new XHTMLImporterImpl(wordMLPackage);
wordMLPackage.getMainDocumentPart().getContent().addAll(XHTMLImporterForContent.convert(TEST_STRING, null));
wordMLPackage.save(new File("test.docx"));
}
}
以上产生.docx
结果,如:
请注意<p><u><em>ItalicsUnderlined</em></u></p>
段没有加下划线!
请提供任何帮助(我需要保留<u>
代码,因为html
喂食来自CKEditor
)?
答案 0 :(得分:0)
我发现如果你改变下划线和斜体标签的顺序就行了!非常奇怪:
<p><em><u>ItalicsUnderlined</u></em></p>
以上作品!!!