使用aspose的原因:
1.使用简单,功能强大 2.可以自动将html中可以访问的img标签存入word文档中 3.可以轻松实现HTML中的样式转换到word文档中
首先使用的jar包是:aspose-words-14.9.0-jdk16.jar 这个可以在网上找到激活成功教程版
以下是代码: (注:本代码使用的groovy语言,和java差不多,格式有所差距,比如结尾没有java必须用到的”;”分号)
1:读取aspose license
代码语言:javascript复制public static boolean getAsposeWordLicense(){
boolean result = false;
try {
InputStream is =Thread.currentThread().getContextClassLoader().getResourceAsStream("aspose/aspose-license.xml") // Context.getResourceAsStream("aspose-license.xml");
License aposeLic = new License();
aposeLic.setLicense(is);
result = true;
} catch (Exception e) {
e.printStackTrace();
}
return result;
}
2:制作生成.doc格式word文档
/**
* html to word
* @param body 要转换成word的 源html文档
* @param outputStream 输出流,可传入responseOutputStream
* @return 输出流
*/
def FileOutputStream HtmlToWord(String body,OutputStream out){
if(!com.common.utils.aspose.AsposeUtil.getAsposeWordLicense()){
return null
}
// OutputStream out = null;
try {
//out = new FileOutputStream()
//将HTML中的img标签的src全部转换为可访问到的地址(个人业务逻辑)
//body = parseImgUrlFromBody(body)
//这里是加入css样式,以引入的方式
String css = "<link rel='stylesheet' href='" grailsApplication.config.staticFileBaseUrl "/css/simditor.css' type='text/css' />"
String cssFont = "<link rel='stylesheet' href='" grailsApplication.config.staticFileBaseUrl "/css/font-awesome.css' type='text/css' />"
//拼接完整的HTML文档
String html = "<!DOCTYPE html> <html> <head> " css cssFont " </head> <body><div class='editor-style'>" body "</div></body> </html>"
Document doc = new Document();
DocumentBuilder builder = new DocumentBuilder(doc);
builder.insertHtml(html);
doc.save(out, SaveOptions.createSaveOptions(SaveFormat.DOC));//生成doc文件
return out
}catch (Exception e){
log.debug("------HtmlToWord convert error because" e.message)
return null
}
}
以上完成,简单且完整的word文档生成了,图片和CSS会自动写入word文档中.
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/183465.html原文链接:https://javaforall.cn