以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 WORD to XML, HTML to XML 』  (http://bbs.xml.org.cn/list.asp?boardid=13)
----  [原创]用java把word文档转换为htm文档  (http://bbs.xml.org.cn/dispbbs.asp?boardid=13&rootid=&id=17535)


--  作者:nobdy
--  发布时间:4/26/2005 3:59:00 PM

--  [原创]用java把word文档转换为htm文档

我这两天试着用java把word文档转换为htm文档,现已搞定,经验如下:

1.下载jacob_18.zip:打开网址:http://sourceforge.net/projects/jacob-project/,然后点击[View ALL Project Files] ,里面有jacob的1.8版本下载;

2.解压jacob_18.zip,将jacob.jar放在“JAVA_HOME\jre\lib\ext\”目录下(“JAVA_HOME”为你所安装的JDK目录),例如“C:\java\jre\lib\ext\”,将jacob.dll放在目录“C:\jacob\”下;

3.设置path:右击“我的电脑” --> 选择“高级” --> 点击“环境变量” --> 在“系统变量”中双击变量“path”,在后边加上“C:\jacob;”,点击“确定”;

4.编写程序(文件名为WordToHtm.java):
/**
* File Name : WordToHtm
* Author :
* Date : 2005.4.26
* Note : convert word file to htm file.
*/

import java.io.File;
import com.jacob.com.*;
import com.jacob.activeX.*;

public class WordToHtm
{
 public static void main( String[] args )
 {
  //启动word
  ActiveXComponent app = new ActiveXComponent( "Word.Application" );
  
  //要转换的word文件
  String inFile = "D:\\test\\my.doc";
  
  //目标文件
  String tpFile = "D:\\test\\my.htm";
  
  boolean flag = false;
  
  try
  {
   //设置word不可见
   app.setProperty( "Visible", new Variant(false) );
   
   Object docs = app.getProperty( "Documents" ).toDispatch();
   
   //打开word文件
   Object doc = Dispatch.invoke(
    docs ,
    "Open" ,
    Dispatch.Method ,
    new Object[]
    {
     inFile ,
     new Variant(false) ,
     new Variant(true)
    } ,
    new int[1]
          ).toDispatch();
   
   //作为html格式保存到临时文件
   Dispatch.invoke(
    doc ,
    "SaveAs" ,
    Dispatch.Method ,
    new Object[]
    {
     tpFile,new Variant( 8 )
    } ,
    new int[1]
         );
   
   Variant f = new Variant( false );
   Dispatch.call( doc , "Close" , f );
   flag = true;
  }
  catch( Exception e )
  {
   e.printStackTrace();
  }
  finally
  {
   app.invoke( "Quit" , new Variant[]{} );
  }
 }
}

5.将word文件my.doc放置在“D:\test\”目录下;

6.编译WordToHtm.java并运行后,你就会发现在“D:\test\”目录下出现了my.htm文件。

附注

1.我使用的操作系统是windowXP,其它的系统我没有试过;

2.我使用的word的版本是microsoft @ word 2002,如果是更新的版本有可能会不成功(这我也没试过);

3.我所使用的jacob的版本是1.8,如果使用1.7或1.6版本则会出错,使用1.9版本也不行,编译不会成功,也许是因为1.9还处于开发阶段,尚不完善。



--  作者:jjplion
--  发布时间:4/27/2005 1:59:00 AM

--  
好像就是实现了word的Save as的功能,呵呵

--  作者:cxh0926
--  发布时间:5/5/2005 10:18:00 PM

--  
顶起。希望高手来解决下,我也正要问的!
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
46.875ms