`
skyqqzhou
  • 浏览: 34067 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

使用jawin将word转成html

阅读更多

1、下载jawin的jar包

2、将jawin.jar拷贝到<%java_home%>\jre\lib\ext中

3、将jawin.dll拷贝到system32文件夹中

4、将jawin.jar拷贝到webinf\lib中

5、代码如下:

package com;

import java.util.Scanner;

import org.jawin.DispatchPtr;
import org.jawin.win32.Ole32;

public class WordToHtml_jawin {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		
		Scanner input = new Scanner(System.in);
		System.out.println("输入文档路径:");
		//输入路径后以‘n’来判断是否结束输入
		String content = "";
		while (input.hasNext()) {
			String s = input.next();
			if ("n".equals(s)) {
				break;
			}
			content += s;
		}
		System.out.println("content:"+content);

		
		if (content.trim().length() < 1) // 没有给出文件名
		{
			System.out.println("\n===============");
			System.out.println("\n没有word文件或其他参数错误!\n");
			System.out.println("\n用法:\n\njava Word2Html word文件名");
			System.out.println("\n如果文件名中有空格,应使用引号");
			System.out.println("\n===============");
			return;
		}
		int iPos = content.lastIndexOf(".");
		System.out.println("ipos:"+iPos);
		if (iPos < 1) // 文件没有扩展名
		{
			System.out.println("\n===============");
			System.out.println("\n不是word文件!\n");
			System.out.println("\n用法:\n\njava Word2Html word文件名");
			System.out.println("\n如果文件名中有空格,应使用引号");
			System.out.println("\n===============");
			return;
		}
		String fileExtName = content.substring(iPos + 1);
		System.out.println("fileExtName:"+fileExtName);
		String fileMainName = content.substring(0, iPos);
		System.out.println("fileMainName:"+fileMainName);
		fileExtName = fileExtName.toLowerCase();
		if (!fileExtName.equals("docx") && !fileExtName.equals("doc")) // 不是word文件
		{
			System.out.println("\n===============");
			System.out.println("\n不是word文件!\n");
			System.out.println("\n用法:\n\njava Word2Html word文件名");
			System.out.println("\n如果文件名中有空格,应使用引号");
			System.out.println("\n===============");
			return;
		}
		System.out.println("OK");
		try {
			Ole32.CoInitialize();
			// 初始化
			DispatchPtr app = new DispatchPtr("Word.Application");
			// 创建word对象
			app.put("Visible", false);
			// 设置word不可见
			DispatchPtr docs = (DispatchPtr) app.get("Documents");
			// 取得Documents对象
			DispatchPtr doc = (DispatchPtr) docs.invoke("Open", content);
			// 打开指定的word文件
			doc.invoke("SaveAs", fileMainName + ".html", new Integer(8));
			// 另存为HTML文件
			app.invoke("quit");
			// 关闭word
			Ole32.CoUninitialize();
			// 释放对象
			System.out.println("\n转换完成!");
			System.out.println("\n文件名:" + fileMainName + ".html");
		} catch (Exception e) {
			System.out.println("\n该文件不存在!或者其他错误(如:运行环境问题)!");
		}

	}

}

 
0
0
分享到:
评论

相关推荐

    java开源包8

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    JAVA上百实例源码以及开源项目源代码

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    JAVA上百实例源码以及开源项目

    得到RSA密钥对,产生Signature对象,对用私钥对信息(info)签名,用指定算法产生签名对象,用私钥初始化签名对象,将待签名的数据传送给签名对象(须在初始化之后),用公钥验证签名结果,使用公钥初始化签名对象,用于...

    java开源包1

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包11

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包2

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包3

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包6

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包5

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包10

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包4

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包7

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包9

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    java开源包101

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

    Java资源包01

    J2C 将 Java 代码转成 C++ 代码,这是源码级别的转换,输出的 C++ 代码是有效的代码。 OSGi 分布式通讯组件 R-OSGi R-OSGi 是一套适用于任意满足 OSGi 架构的分布式通讯组件。它以 jar 的形式发布,部署容易,使用...

Global site tag (gtag.js) - Google Analytics