使用Docx4j将HTML转换为Docx

时间:2015-06-28 11:06:52

标签: java android docx4j

我一直在尝试使用他们的库将html内容转换为docx,我确实在运行我的应用程序后创建了一个docx文件,但它有空白内容,而html确实有一些内容。请检查下面的代码,我已经在git上包含了AndroidDocxtoHTML示例中的所有必要库。

代码:

// HTML Code
String html = "<html><head><title>Import me</title></head><body><p>Hello World!</p></body></html>";

WordprocessingMLPackage wordMLPackage = WordprocessingMLPackage.createPackage();
AlternativeFormatInputPart afiPart = new AlternativeFormatInputPart(new PartName("/hw.html"));
afiPart.setBinaryData(html.getBytes());
afiPart.setContentType(new ContentType("text/html"));
Relationship altChunkRel = wordMLPackage.getMainDocumentPart().addTargetPart(afiPart);

// .. the bit in document body
CTAltChunk ac = Context.getWmlObjectFactory().createCTAltChunk();
ac.setId(altChunkRel.getId() );
wordMLPackage.getMainDocumentPart().addObject(ac);

// .. content type
wordMLPackage.getContentTypeManager().addDefaultContentType("html", "text/html");

我不明白我得到空白文档的代码中缺少什么。 我找到了我为Android修改的java代码。 有人建议使用nightly build jar进行xhtml转换。我需要使用它吗?

1 个答案:

答案 0 :(得分:0)

AlternativeFormatInputPart实际上并未将您的HTML转换为普通的docx内容。

由显示docx的应用程序来完成(大多数都不能)。

相反,请考虑使用docx4j-ImportXHTML进行转换。