您的位置:首页 > 编程语言 > ASP

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

2015-07-20 16:15 686 查看
使用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文档中.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息