JAVA使用aspose.word 实现html转换word

使用aspose的原因:

1.使用简单,功能强大
2.可以自动将html中可以访问的img标签存入word文档中
3.可以轻松实现HTML中的样式转换到word文档中

首先使用的jar包是:aspose-words-14.9.0-jdk16.jar
这个可以在网上找到破解版

以下是代码:
(注:本代码使用的groovy语言,和java差不多,格式有所差距,比如结尾没有java必须用到的”;”分号)

1:读取aspose license

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文档中.
  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 8
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值