大家好,我想实现一个在线学习的功能,想上传word文档后保存为html文档,点击查看是显示相应的html文档(是这样实现吗?还是直接读取word文档的内容必可以显示??),我想用Java实现word文档转换为html,请各位大侠帮帮忙,给一下源代码,本人将感激不尽~~~
qq:122147703
大家好,我想实现一个在线学习的功能,想上传word文档后保存为html文档,点击查看是显示相应的html文档(是这样实现吗?还是直接读取word文档的内容必可以显示??),我想用Java实现word文档转换为html,请各位大侠帮帮忙,给一下源代码,本人将感激不尽~~~
qq:122147703
在线学习的话应该是B/S模式吧,如果楼主是想将我word内容连同样式一起转换成html有两种方法
一种是手动将要上传的word文件另存为html文件,并将html文件传进服务器,由浏览器打开就行
另一种是使用控件将要上传的word文件内容转成html代码,现在较好的控件有FCKeditor,eWebEditor,前者免费,后者精简版免费,商业版支持直接上传word文件转成html代码,不过是收费的
源码的话真的没有,本人也是最近要做类似的项目,现学现卖的~
eWebEditor主页: http://www.ewebeditor.net/
FCKeditor主页: http://ckeditor.com/
鉴于JACOB在各种系统环境下容易出现各种各样的问题,因此,本文介绍的是使用JCom组件来将Word文档自动转换为HTML。它非常容易使用。
JCom官方网址在: http://sourceforge.net/projects/jcom/
运行JCom需要一个jar包以及一个dll文件,从官方网站可以下载这两个文件,下文所描述的例子,是基于jcom-2.2.4,在WindowsXP SP2,office2003,JDK1.5的环境下测试通过。
JCom基本结构
利用JCom转换Word文件
1、 首先要加入jcom.jar到类路径
2、 其次要将jcom.dll加入到path环境变量中
3、 需配置JAVA_HOME环境变量指向你的JDK
运行如下代码即可:
//首先转换为HTML文件,存放到临时目录 ReleaseManager rm = new ReleaseManager(); String userdir = System.getProperty("user.dir"); String tempHtmlFile = userdir + "/" + System.currentTimeMillis() + ".html"; try { IDispatch wdApp = new IDispatch(rm, "Word.Application"); wdApp.put("Visible", new Boolean(false)); IDispatch wdDocuments = (IDispatch)wdApp.get("Documents"); IDispatch wdDocument = (IDispatch)wdDocuments.method("Open", new Object[]{wordDocumentFilePath}); //转换为HTML文件 wdDocument.method("SaveAs", new Object[]{tempHtmlFile,8}); wdApp.method("Quit", null); logger.info("文件已临时存放到:"+tempHtmlFile); } catch (Exception e) { e.printStackTrace(); }finally{ rm.release(); } |
这将会自动将Word转换为HTML文件,其中的图片也被自动保存到了相应的目录(xxx.files目录)下。掌握了这个基本的核心原理,那么其它的操作也就不再困难了。本站的文章自动发布系统就是采用了JCom来做的,本站所有的文章都是在Word中编辑,随意插入各种格式和图片,最后将Word一发布(转换为HTML),即可将文本、格式、图片等一次性发布到网站上
poi这个可以