首页 > 代码库 > [JAVA]使用jacob进行服务端word转html pdf

[JAVA]使用jacob进行服务端word转html pdf

参照:http://www.cnblogs.com/qingxinblog/articles/3399454.html

1,必要条件: 服务器为windows,必须安装office 使用jacob进行中间件调用com组件打开word进程 另存文档为其他格式

2,注意条件:使用eclipse必须将jacob的jar包添加到项目 并add build path ,同时将jacob的dll 文件放置到JAVA_HOME\jre\bin中,如果为部署服务 将jar包放置到WEB_INF下的Lib目录

代码如下:

 1 package demo; 2  3 import java.io.IOException; 4 import javax.servlet.ServletException; 5 import javax.servlet.http.HttpServlet; 6 import javax.servlet.http.HttpServletRequest; 7 import javax.servlet.http.HttpServletResponse; 8 import com.jacob.com.*; 9 import com.jacob.activeX.*;10 11 public class hdzServlet extends HttpServlet{12 13     protected void service (HttpServletRequest req, HttpServletResponse res)14             throws ServletException, IOException {15         res.getWriter().println("ni hao hdz!");16         String docfile = "F:\\123.doc";  17         String htmlfile = "F:\\123.pdf";  18         hdzServlet.wordToHtml(docfile, htmlfile);  19         20     }21     22      public static final int WORD_HTML = 5;    23           24         /**   25          * WORD转HTML   26          * @param docfile WORD文件全路径   27          * @param htmlfile 转换后HTML存放路径   28          */    29         public static void wordToHtml(String docfile, String htmlfile)     30         {     31             // 启动word应用程序(Microsoft Office Word 2003)  32             ActiveXComponent app = new ActiveXComponent("Word.Application");  33             System.out.println("*****正在转换...*****");  34             try    35             {     36                 // 设置word应用程序不可见    37                 app.setProperty("Visible", new Variant(false));    38                 // documents表示word程序的所有文档窗口,(word是多文档应用程序)  39                 Dispatch docs = app.getProperty("Documents").toDispatch();    40                 // 打开要转换的word文件  41                 Dispatch doc = Dispatch.invoke(     42                         docs,     43                         "Open",     44                         Dispatch.Method,     45                         new Object[] { docfile, new Variant(false),   46                                 new Variant(true) }, new int[1]).toDispatch();     47                 // 作为html格式保存到临时文件  48                 Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {     49                         htmlfile, new Variant(WORD_HTML) }, new int[1]);     50                 // 关闭word文件  51                 Dispatch.call(doc, "Close", new Variant(false));     52             }     53             catch (Exception e)     54             {     55                 e.printStackTrace();     56             }     57             finally    58             {     59                 //关闭word应用程序  60                 app.invoke("Quit", new Variant[] {});     61             }   62             System.out.println("*****转换完毕********");  63         }  64     65     66 }

 

[JAVA]使用jacob进行服务端word转html pdf