我正在尝试将Word文档转换为清理html。我正在使用Apache POI,但它创建了一个混乱,就像MS Word自己的HTML保存方法。我想要的是https://html-cleaner.com/之类的东西
例如,当我尝试转换表时,我不想要任何宽度属性或其他东西。只有一些不错的<td>
和<tr>
代码可能包含一些<b>
。
任何人都知道如何实现这一目标?顺便说一下,我没有被迫使用Apache POI,如果您知道任何其他用于实现Word以清除html转换的Java API,我愿意接受您的建议。
答案 0 :(得分:0)
对答案进行评论....你应该看一下Apache Tika。 Apache Tika由Apache POI提供支持,旨在提供干净,语义上有意义的HTML,我认为这是你之后的
如果您按照Apache Tika example for parsing to XHTML进行操作,则执行以下操作:
public String parseToHTML() throws IOException, SAXException, TikaException {
ContentHandler handler = new ToXMLContentHandler();
AutoDetectParser parser = new AutoDetectParser();
Metadata metadata = new Metadata();
try (InputStream stream = ContentHandlerExample.class.getResourceAsStream("test.doc")) {
parser.parse(stream, handler, metadata);
return handler.toString();
}
}
此外,为了进行测试,您可以使用runnable single-jar Tika App cli tool,将--xhtml
选项与您的文件一起传递,然后它会在命令行上返回简单的干净XHTML