Java程序把Word文档直接换成Html文件方法是什么呢?
acob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。
如果你的JDK是1.4,那你需要下载Jacob 1.9的jni库才能正常运行,早期版本在JDK 1.4下有些问题。
以下是引用片段:package com;/*** 〈p〉Title:Word文档转html类〈/p〉* 〈p〉Description: 〈/p〉* 〈p〉Copyright:() 2002〈/p〉* @author 舵手* @version 1.0*/import com.jacob.com.*;import com.jacob.activeX.*;public class WordtoHtml {/***文档转换函数*@param docfile word文档的绝对路径加文件名(包含扩展名)*@param htmlfile 转换后的html文件绝对路径和文件名(不含扩展名)*/public static void change(String docfile, String htmlfile) {ActiveXComponent app = new ActiveXComponent("Word.Application"); // 启动wordtry {app.setProperty("Visible", new Variant(false));//设置word不可见Object docs = app.getProperty("Documents").toDispatch();Object doc = Dispatch.invoke(docs,"Open",Dispatch.Method,new Object[]{ docfile, new Variant(false),new Variant(true) }, new int[1]).toDispatch();// 打开word文件Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {htmlfile,new Variant (8) }, new int[1]);// 作为html格式保存到临时文件Variant f = new Variant(false);Dispatch.call(doc, "Close", f);} catch (Exception e) {e.printStackTrace();} finally {app.invoke("Quit", new Variant[]{});}}public static void main(String[] strs){WordtoHtml.change("c:\\a\\运输管理调度系统总体方案.doc", "c:\\a\\t");}}
word文档打不开打开某个文件时显示如下:word在试图打开文件
兄弟,我今天刚刚解决了这个问题,我这里都是foxmail捣的鬼,呵呵,现在很爽,不敢独享啊,告诉你,我是用第二种方法解决的。
(当然你不一定是因为这个,看看就知道啦!) ----------------------以下为引用,【】里是我的注释 去年就出现过这种情况,后来知道是瑞星捣的鬼,只要把瑞星设置“其他设置”中“使用office/IE安全助手”前面的勾取消就能解决问题。
其实,这是某些杀毒软件对最新的OFFICE2003支持不好造成的,只是因为在相似的杀毒选项的杂项中,启用了office插件的保护功能,去掉选项,打开word文件时就不会出现对话框(只有安装了OFFICE2003才有此现象)。
可是现在瑞星2006没有该项设置了,除非把瑞星的office/IE嵌入式杀毒去掉,但这样有风险,不敢玩。
查阅了microsoft网站,是这样说的: 症状 如果通过双击一个文档(例如,在 Microsoft Windows 资源管理器中)来在 Microsoft Office Word 2003 中打开该文档,则会收到下面的错误信息:The command cannot be performed because a dialog box is open.Click "OK" and then close open dialog boxes to continue. 在 Microsoft Word 2002 中不会收到这一错误信息。
原因 如果 Startup 文件夹中有一个 Word 2003 模板,该模板中包含能打开对话框的自动执行 (autoexec) 宏,则可能发生此问题。
替代方法 方法 1:在 Word 中打开 要在 Word 中直接打开文档,请按下列步骤操作: 1. 启动 Word 2003。
2. 在“文件”菜单上,单击“打开”。
3. 在“打开”对话框中,选择要打开的文档,然后单击“打开”。
方法 2:从 Startup 文件夹中删除模板 要从 Startup 文件夹中删除模板,请按下列步骤操作: 1. 退出 Word 2003。
2. 单击“开始”,指向“程序”,指向“附件”,然后单击“Windows 资源管理器”。
3. 找出下列文件夹之一: Documents and Settings\username\Application Data\Microsoft\Word\Startup 【说明:我的问题出在这个目录,但是需要把隐藏打开:工具——文件夹选项——查看——(隐藏文件和文件夹)选中“显示所有的文件和文件夹”即可】 Program Files\Microsoft Office\Office11\Startup 文件夹 【我的这个没有问题】 4. 双击以打开“Startup”文件夹。
【我的里边有一个foxmail的模板】 5. 在 Windows 资源管理器的右窗格中,单击以选择要删除的模板,然后按 Delete 键。
删掉就搞定啦
用java打开一个word文档(a.docx) 怎么搞
\Microsoft Office\).File; import java:\\.getRuntime().exec(""C;\temp\\WINWORD.EXE aa;\the list;"package cn;Program Files\.doc\ public static void main(String[] args) { try { Runtime:\\.doc"); } catch (IOException e) { // TODO 自动生成 catch 块 e.printStackTrace(); } } } 你的WORD安装路径C;c \"C:\.exec("cmd /Program Files\\Microsoft Office\\WINWORD.EXE空格后所加的aa.doc为你的文档文件名(有文件名重复的,可以加路径,写法和安装路径的写法一样)或者用Runtime.getRuntime();\OFFICE11\ import java.io;\OFFICE11\.io.IOException; public class TT { /** * @param args */.rain.main...
怎样才能把word文件读取并显示在java中?请各位指教!
经过一番选择还是折中点采用rtf最好,毕竟rtf是开源格式java读取word文档时,虽然网上介绍了很多插件poi,各种格式都可以设定、java2Word,不需要借助任何插件,去他们论坛找高人解决也说不出原因,项目部署用它有点玄;itxt好像写很方便但是我查了好久资料没有见到过关于读的好法,操作方法完全一致,有的机器不报错,有的报错,比较诡异,我曾经在不同的机器上试过,做项目不太敢用);java2Word、jacob容易报错找不到注册,poi无法读取格式(新的API估计行好像还在处于研发阶段,不太稳定、itext等等、jacob,只需基本IO操作外加编码转换即可。
rtf格式文件表面看来和doc没啥区别,都可以用word打开。
具体代码可以参考:/...
Java读取数据库打印到word文档问题求教各位大侠,java写
为什么非要写道word文档中? 你可以写进txt文件中,然后使用word进行编辑 如果确实需要,请看下面的例子: import java.io.File; import java.io.FileInputStream; import java.io.FileOutputStream; import org.apache.poi.hwpf.extractor.WordExtractor; import org.apache.poi.hwpf.model.io.HWPFOutputStream; public class Word { /** * 读取纯文本的word文件 */ public String readWord(String doc) throws Exception { String context = null; WordExtractor extractor = null; //纯文本的遍历器 try { FileInputStream in = new FileInputStream(new File(doc)); extractor = new WordExtractor(in); context = extractor.getText(); } catch (Exception e) { e.printStackTrace(); } return context; } /** * 对word文档做写操作 * */ public boolean writeWord(String path, String content) throws Exception { boolean w = false; try { byte b[] = content.getBytes(); FileOutputStream fs = new FileOutputStream(path); HWPFOutputStream hos = new HWPFOutputStream(); hos.write(b, 0, b.length); hos.writeTo(fs); hos.close(); w=true; } catch (Exception e) { e.printStackTrace(); } return w; } public static void main(String[] args) { ReadWord rw = new ReadWord(); try{ String text = rw.readDoc("D:\\workspace\\MyUntil\\t.doc"); rw.writeDoc("D:\\workspace\\MyUntil\\d.doc", text); }catch(Exception e){ e.printStackTrace(); } } } 所需的包请各位自己上apache的官网上poi工程目录下下吧 poi-3.5-final poi-contrib-3.5-final poi-ooxml-3.5-final poi-scratchpad-3.5-final
我的电脑不能打开word文档原来可以打word文档,最近当想打开
你的电脑是不是曾册除过office,后来以重新安装过是吧。
但后来安装的是(精简版)的。
((你是不是重装过系统)),当中有很多功能没装上造成的,我以前也经常这样,建议你重新安装office,选择完整安装就好了,以后是不会有那样的提示的。
祝你成功,希望我能帮到你。
用java编写一个打开指定文件的程序
创建Openoffice连接OpenOfficeConnection con = new SocketOpenOfficeConnection(8100);try {//:\Program Files (x86)\OpenOffice,其实也可以是MS Office.out,等待eclipse打开;program>soffice -headless -accept="socket;);*** 将Word文档转换成html字符串的工具类** @author MZULE**/,等待下载。
4、安装OpenOffice..");e.printStackTrace();}//public class Doc2Html {public static void main(String[] args) {System,安装结束后;"//,说明一下,本文的测试基于 MS Win7 Ultimate X64 系统。
下面就是规规矩矩的实现。
1、下载OpenOffice,启动OpenOffice的一项服务。
* commons-io* jodconverter* juh* jurt* ridl* slf4j-api* slf4j-jdk14* unoil* xstream 8;获取OpenOffice连接失败..artofsolving.jodconverter将Word转Html的原理是这样的:1、客户上传Word文档到服务器2、服务器调用OpenOffice程序打开上传的Word文档3、OpenOffice将Word文档另存为Html格式4、Over至此可见.Pattern.getTime()+ ".util;import java.io.FileInputStream.artofsolving.jodconverter,调用cmd.io.InputStreamReader;import java.net.ConnectException;import com.artofsolving,port=8100,你懂的; 连接con.connect();} catch (ConnectException e) {System..查看代码package com.mzule.doc2html.println(toHtmlString(new File(".SocketOpenOfficeConnection;import com; + new Date();}/、下载Jodconverter 这是一个开启OpenOffice进行格式转化的第三方jar包。
3、泡杯热茶。
** @param docFile* 需要转换的文档* @param filepath* 文档中图片的保存位置* @return 转换成功的html代码*/.util.Date;);//"*** 将word转换成html文件,并且获取html文件代码, "C:/test"return htmlFile.openoffice.connection。
恩.io.FileNotFoundException;import java.io.artofsolving.jodconverter、Coding..out;import java;import java,2.openoffice.converter.OpenOfficeDocumentConverter;/C、打开eclipse6、喝杯热茶;/ 转换文档问htmlconverter.convert(docFile, htmlFile):C.regex.org 3\.println(" 关闭openoffice连接con.disconnect().BufferedReader;import java.io.openoffice.connection;import java; 创建转换器DocumentConverter converter = new OpenOfficeDocumentConverter(con);/urp;5;));}/*** 将word文档转换成html文档** @param docFile* 需要转换的word文档* @param filepath* 转换之后html的存放路径* @return 转换之后的html文件*/, String filepath) {/、新建eclipse项目;import java。
7,导入Jodconverter/lib 下得jar包.html".File;import java.io;/ 创建保存html的文件File htmlFile = new File(filepath + "/.IOException:/test/public static File convert(File docFile.util.regex.Matcher;import java.util.jodconverter.DocumentConverter;import com.OpenOfficeConnection;import com;test.doc"public static String toHtmlString(File docFile, String filepath) {// 转换word文档File htmlFile = convert(docFile, filepath);// 获取html文件流StringBuffer htmlSb = new StringBuffer();try {BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(htmlFile)));while (br.ready()) {htmlSb.append(br.readLine());}br.close();// 删除临时文件htmlFile.delete();} catch (FileNotFoundException e) {e.printStackTrace();} catch (IOException e) {e.printStackTrace();}// HTML文件字符串String htmlStr = htmlSb.toString();// 返回经过清洁的html文本return clearFormat(htmlStr, filepath);}/*** 清除一些不需要的html标记** @param htmlStr* 带有复杂html标记的html语句* @return 去除了不需要html标记的语句*/protected static String clearFormat(String htmlStr, String docImgPath) {// 获取body内容的正则String bodyReg = "";Pattern bodyPattern = Pattern.compile(bodyReg);Matcher bodyMatcher = bodyPattern.matcher(htmlStr);if (bodyMatcher.find()) {// 获取BODY内容,并转化BODY标签为DIVhtmlStr = bodyMatcher.group().replaceFirst("", "");}// 调整图片地址htmlStr = htmlStr.replaceAll("转换成保留样式// content = content.replaceAll("(]*>.*?)()",// "");// 把转换成并删除样式htmlStr = htmlStr.replaceAll("(]*)(>.*?)()", "");// 删除不需要的标签htmlStr = htmlStr.replaceAll("]*?>","");// 删除不需要的属性htmlStr = htmlStr.replaceAll("]*)(?:lang|LANG|class|CLASS|style|STYLE|size|SIZE|face|FACE|[ovwxpOVWXP]:\\w+)=(?:'[^']*'|\"\"[^\"\"]*\"\"|[^>]+)([^>]*)>","");return htmlStr;}},这要求服务器端安装OpenOffice软件,不过OpenOffice的优势是跨平台 展开
转载请注明出处51数据库 » java程序打开word文档
清蒸大黄黄