[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 }
时间: 2024-08-29 06:39:41

[JAVA]使用jacob进行服务端word转html pdf的相关文章

基于java工程开发RMI服务端

ServiceRegist.java import java.rmi.Remote; import java.rmi.RemoteException; public interface ServiceRegist extends Remote{ public user login(String userName, String password) throws RemoteException; } ServiceRegisterImpl.java public class ServiceRegi

通过Java WebService接口从服务端下载文件

一. 前言 本文讲述如何通过webservice接口,从服务端下载文件.报告到客户端.适用于跨系统间的文件交互,传输文件不大的情况(控制在几百M以内).对于这种情况搭建一个FTP环境,增加了系统部署的复杂度和系统对外暴露的接口.通过在服务端读取文件,返回字节流到客户端的方式比较简单. 下面采用restful的接口形式,满足SOA架构接口要求.如下代码拷贝到eclipse中即可运行,功能自测试运行正常.样例代码的服务端和客户端在同一台PC上运行,放到不同PC上运行改一下发布服务和请求服务的IP地址

java中socket创建服务端与客户端即时对聊

package tool; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; impo

java socket 客户端和服务端通信

1.采用阻塞式readUTF():长连接 2.java socket的3个主要方面如下 1)accept 阻塞,直到接受到一个连接,并返回一个客户端对象实例 2)getInputStream() 3)getOutputStream() 客户端代码: public class ClientSocket { public static final String IP="10.100.63.18"; public static final int PORT=667; public stati

java axis调用WebService 服务端,客户端

服务端: 1.Calculator package ws; public class Calculator { public int add(int a, int b) { return (a + b); } public int subtract(int a, int b) { return (a - b); } public int multiply(int a, int b) { return (a * b); } public int divide(int a, int b) { ret

Java网络编程(TCP服务端)

1 package WebProgramingDemo; 2 3 import java.io.IOException; 4 import java.io.InputStream; 5 import java.net.ServerSocket; 6 import java.net.Socket; 7 8 public class ServerSocketDemo { 9 10 /** 11 * @param args 12 * @throws IOException 13 */ 14 publi

C#开发客户端、JAVA和tomcat开发服务端

hessian入门,Hello和文件上传范例,C#客户端+Java Tomcat后台 2.Hello范例1)后台--定义Java接口:package org.migle.hessian; public interface Hello {      public String sayHello(String smt);      public void printHello(String smt);  }2)后台--实现Java接口:package org.migle.hessian.impl;i

[18]Java实战项目教程 Java电商项目 服务端实战 基于最新SSM框架 视频源码全[15G]

视频试看链接:https://pan.baidu.com/s/1qY3bQMg 淘宝链接:https://item.taobao.com/item.htm?spm=0.7095261.0.0.534444d0f5tDSg&id=562016685477 总目录: 子文件目录1: 子文件目录2: 视频:

客户端使用java,服务端使用c++的corba编程环境搭建

我们先用c++实现服务端和客户端,然后再用java编写客户端. 1. 首先安装omniORB,omniORB提供 omniidl命令,以及一些头文件和库. omniORB一般是需要你自己进行编译. 2. 编写idl文件,本实验中文件名为 echo.idl 1 interface Echo { string echoString(in string mesg); }; echo.idl 3. 使用omniidl -bcxx echo.idl 生成 echo.hh 和 echoSK.cc 4. 编写