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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[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的主要内容,如果未能解决你的问题,请参考以下文章

jacob 问题,java 调用jacob,先操作word 转PDF,再操作excel 转pdf,这样就会报错

求助关于java通过jacob操作word的问题

java实现word转pdf

[原创]java实现word转pdf

jacob操作word (转)

利用jacob实现Word转PDF