@RequestMapping(value = "/doc")
public void doc(HttpServletRequest request, HttpServletResponse response, String wordname, String html) {
try {
String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort();
response.setHeader("Content-Disposition", "attachment;filename=" + new String((wordname + ".docx").getBytes("GBK"), "ISO-8859-1") + "");
response.setContentType("application/msword");
OutputStream stream = response.getOutputStream();
MsWord.html2word(html, basePath).save(stream);
stream.flush();
stream.close();
} catch (IOException | Docx4JException e) {
e.printStackTrace();
}
}
private WordprocessingMLPackage html2word(String html,String baseUrl) {
Document doc = Jsoup.parse(html);
doc.outputSettings().syntax(Document.OutputSettings.Syntax.xml).escapeMode(Entities.EscapeMode.xhtml);
WordprocessingMLPackage wordMLPackage = null;
try {
wordMLPackage = WordprocessingMLPackage.createPackage(PageSizePaper.valueOf("A4"), true);
XHTMLImporterImpl xhtmlImporter = new XHTMLImporterImpl(wordMLPackage);
wordMLPackage.getMainDocumentPart().getContent().addAll(xhtmlImporter.convert(doc.html(), baseUrl));
} catch (Docx4JException e) {
e.printStackTrace();
}
return wordMLPackage;
}
doc4j通过html生成doc
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- 最近写了一个小功能模块,将html文件转化为pdf文件。 1.需求 现在有这么一个需求:假设App里面有一份htm...
- 1、抗拒学英文 在国内几乎所的编程语言都是外国的,所以学技术必定要学会看英文文档,如果不学英文,是绝对无法从菜鸟转...
- UIColor+CJ a easy way to use UIColor by color name, RGB, ...