Java把html转成word
一、常用的html转word
1、工具:word2html、pdf转成word转换器等
2、Java代码:jacob和poi
</pre><p></p><p></p><p>二、jacob把html转换成word</p><p><span style="margin:0px; padding:0px; color:rgb(57,57,57); font-family:verdana,'ms song',Arial,Helvetica,sans-serif; font-size:14px; line-height:21px"><span style="margin:0px; padding:0px"><span style="margin:0px; padding:0px">Jacob只能用于windows系统,如果你的系统不是windows,建议使用Openoffice.org,这个是跨平台的</span></span></span></p><p></p><p><pre name="code" class="java">/*************
* JACOB方式
* notes:需要将jacob.dll拷贝到windows/system32和classpath路径下
* @param html html静态页面路径
* @param wordFile 要生成的word文档路径
*/
public static void htmlToWord(String html, String wordFile) { ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动word try { app.setProperty("Visible", new Variant(false)); Dispatch wordDoc = app.getProperty("Documents").toDispatch(); wordDoc = Dispatch.invoke(wordDoc, "Add", Dispatch.Method, new Object[0], new int[1]).toDispatch(); Dispatch.invoke(app.getProperty("Selection").toDispatch(), "InsertFile", Dispatch.Method, new Object[] { html, "", new Variant(false), new Variant(false), new Variant(false) }, new int[3]); Dispatch.invoke(wordDoc, "SaveAs", Dispatch.Method, new Object[] {wordFile, new Variant(1)}, new int[1]); Dispatch.call(wordDoc, "Close", new Variant(false)); } catch (Exception e) { e.printStackTrace(); } finally { app.invoke("Quit", new Variant[] {}); }
}
三、poi把html转换成word
public void htmlToWord2() throws Exception {InputStream bodyIs = new FileInputStream("f:\\1.html");InputStream cssIs = new FileInputStream("f:\\1.css");String body = this.getContent(bodyIs);String css = this.getContent(cssIs);//拼一个标准的HTML格式文档String content = "<html><head><style>" + css + "</style></head><body>" + body + "</body></html>";InputStream is = new ByteArrayInputStream(content.getBytes("GBK"));OutputStream os = new FileOutputStream("f:\\1.doc");this.inputStreamToWord(is, os);
}/**
* 把is写入到对应的word输出流os中
* 不考虑异常的捕获,直接抛出
* @param is
* @param os
* @throws IOException
*/
private void inputStreamToWord(InputStream is, OutputStream os) throws IOException {POIFSFileSystem fs = new POIFSFileSystem();//对应于org.apache.poi.hdf.extractor.WordDocumentfs.createDocument(is, "WordDocument");fs.writeFilesystem(os);os.close();is.close();
}/**
* 把输入流里面的内容以UTF-8编码当文本取出。
* 不考虑异常,直接抛出
* @param ises
* @return
* @throws IOException
*/
private String getContent(InputStream... ises) throws IOException {if (ises != null) {StringBuilder result = new StringBuilder();BufferedReader br;String line;for (InputStream is : ises) {br = new BufferedReader(new InputStreamReader(is, "UTF-8"));while ((line=br.readLine()) != null) {result.append(line);}}return result.toString();}return null;
}
Java把html转成word相关推荐
- 使用Java将HTML转成Word格式文件
转载自 使用Java将HTML转成Word格式文件 import java.io.ByteArrayInputStream; import java.io.File; import java.io. ...
- java将数据库数据转换成word文档并且生成pdf文件
目的:将数据转换成word图片的方式展现给用户 工具:openoffice +java代码 +数据库,其中openoffice有windows版本的和Linux版本的. 其中openoffice的下载 ...
- java填充wordxml格式,java xml转成word文档格式
xml格式如何转换成doc格式文件 通过jodconveter来实现转化(http://www.artofsolving.com/opensource/jodconverter). 这种方式实现起来比 ...
- java打包后的怎么转成源码_PDF转成Word或PPT后还是图片是怎么回事?
日常我们经常会用到将PDF转换成Word或者PPT后再编辑,但有时候会遇到转成Word或PPT都还是一张张的图片,根本就无法修改是怎么回事呢?要怎么解决呢? 出现这种情况大多是因为选择的转换工具不支持 ...
- java word 转换 图片_怎样把手机上的图片转换成word?
在当今这个快速发展的时代,人手一部手机是件很正常的事,小编的手机上往往会存有许多喜欢的文字图片,可是那么多的图片又会占用很多手机的空间,这样就有些不好了.庆幸的是最近小编学习到一个可以将手机上的图片转 ...
- java中ofd文件转pdf_ofd格式如何转换成word
OFD格式是和PDF格式一样的,对文档进行归档要求的一种格式,如果想要进行编辑和查看的话,都是需要相应的阅读器.编辑器的.当然,我想大部分人会和我一样,都会选择先去将OFD格式转换成WORD格式进行编 ...
- java pdf怎么转换成word_pdf能转换成Word吗?pdf怎么转换成word?
别人给你一个Word文件,很简单,不管是阅读还是修改,都直接可以使用office办公软件搞定,但是如果别人给你的是一个PDF文件呢?这可咋办?其实,你大可不必去专门下载一个阅读PDF文件的阅读器,因为 ...
- java rtf转换word_win10系统将.rtf格式转换成word格式的操作方法
很多小伙伴都遇到过对win10系统将.rtf格式转换成word格式的设置方法,想必大家都遇到过需要对win10系统将.rtf格式转换成word格式进行设置的情况吧,那么应该怎么设置win10系统将.r ...
- xml文件怎么转换成wps_xml文件转word文档 怎么将XML文档转成WORD文档
1.找到需要转换为word文档的xml文档. 2.选择文档并点击鼠标右键,选择"打开方式"栏目中的"WPS表格"(或者excel表格),点击确定按钮. 3.点击 ...
最新文章
- autoenv的使用方法
- C++动态数组简单的模拟二元堆
- CoreAnimation编程指南(一)概念
- java演练 循环嵌套 菱形图案的打印 四个阶段完成输出
- Binary Tree Level Order Traversal II --leetcode C++
- CSS实现三角形的方法--拓展
- 新安装 Ubuntu 12.10 需要做的 10 件事(转)
- Eclipse主题插件:Eclipse Color Theme
- javascript函数的参数类型
- Pr 音频效果参考:特殊效果
- tkinter-界面化抽签小程序
- js图片上传(配合七牛云)
- Ai实现毛茸茸的字体
- 用python完成最基础ems项目
- ImprovedGAN论文略读
- android studio和风天气,AndroidSDK——和风天气使用初体验
- android 图片处理过程中添加进度条,[Android] 随时拍图像处理部分总结及源码分......
- win10睡眠按啥键唤醒_win10关闭屏幕后无法唤醒怎么办?电脑黑屏只能重启的解决方法...
- LVDS display 应用
- 8_future_threading_multiprocessing的封装(线程进程的高级api)
热门文章
- 2019款Mac Pro到底有多强
- realme有升级到android10的,RealmeX/Q将升级安卓10底层刷机包
- 一个网站的pv代表什么?
- python爬取文章_[Python]爬取微信公众号文章
- [自习任我行]第二阶段任务跟踪1
- C++ 高效位运算函数 之 __builtin_
- littlefs系列:Files
- 纯css实现鼠标悬浮、点击更改元素背景
- java.lang.NoClassDefFoundError: org/dom4j/io/SAXReader
- Android的post请求工具,Android客户端post请求服务器端实例