网站开发过程中,有时候需要将word内容展示在网页,可以通过aspose将doc文件直接转为pdf进行预览,但是有时候可能需要就在网页的某部分信息中显示内容,而不需要在线预览,这时候可以考虑将word内容简单转换为html内容来显示。
- 引入aspose相关jar包
- 将word内容转为HTML字符串
/**
* word转html文本
* @param doc 需要转换的doc文件对象
* @return
*/
public String parseWord2Html(Document doc){
HtmlSaveOptions saveOptions = new HtmlSaveOptions();
saveOptions.setExportHeadersFootersMode(ExportHeadersFootersMode.NONE); // HtmlSaveOptions的其他设置信息请参考相关API
ByteArrayOutputStream htmlStream = new ByteArrayOutputStream();
String htmlText = "";
try {
doc.save(htmlStream, saveOptions);
htmlText = new String(htmlStream.toByteArray(),"UTF-8");
htmlStream.close();
} catch (Exception e) {
LOG.error("word文件转换失败,详细错误信息:{}",e.getMessage());
}
return htmlText;
}
转换的效果如下,左边是word内容,右边是转换后的内容:
当然,效果并不会特别好,但是一些简单的格式会转换成功,差不多够用了,比如标题居中、加粗、回车换行缩进等;复杂一点的格式就可能不会转换成功了,测试发现序号之类的没有转换成功,可能和我option配置的有关系,没有仔细研究。