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

来源:互联网 发布:德罗赞最近几场数据 编辑:程序博客网 时间:2024/06/05 01:14

使用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 0
原创粉丝点击