使用jacob调用word接口,另存为html。
代码如下:
package com.winning.doc;
import java.io.File;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class WordToHtml
{
// ------------------------------------------------------------------------------
// 方法原型: change(String paths)
// 功能描述: 将指定目录下面所有的doc文件转化为HTML并存储在相同目录下
// 输入参数: String
// 输出参数: 无
// 返 回 值: 无
// 其它说明: 递归
// ------------------------------------------------------------------------------
public static boolean change(String FolderPath, String FileName,String outFolder,ActiveXComponent app)
{
String FileFormat = "";
System.out.println(FolderPath);
int fileSuffix = 4;
if(FileName.endsWith("docx"))
{
FileFormat = FileName.substring(FileName.length() - 5,
FileName.length());
fileSuffix = 5;
}
else
{
FileFormat = FileName.substring(FileName.length() - 4,
FileName.length());
}
System.out.println(FileFormat);
if (FileFormat.equalsIgnoreCase(".doc")
|| FileFormat.equalsIgnoreCase(".docx"))
{
String DocFile = FolderPath + "//" + FileName;
String htmlFile = outFolder + "//" + FileName;
System.out.println("word文件路径:" + DocFile);
// word文件的完整路径
String HtmlFile = htmlFile.substring(0,
(htmlFile.length() - fileSuffix)) + ".html";
System.out.println("htm文件路径:" + HtmlFile);
// html文件的完整路径
System.out.println(System.getProperty("java.library.path"));
// 启动word
try
{
app.setProperty("Visible", new Variant(false));
// 设置word程序非可视化运行
Dispatch docs = app.getProperty("Documents").toDispatch();
Dispatch doc = Dispatch.invoke(
docs,
"Open",
Dispatch.Method,
new Object[] { DocFile, new Variant(false),
new Variant(true) }, new int[1]).toDispatch();
// 打开word文件
Dispatch.invoke(doc, "SaveAs", Dispatch.Method, new Object[] {
HtmlFile, new Variant(8) }, new int[1]);
// 作为htm格式保存文件
Dispatch.call(doc, "Close", new Variant(false));
// 关闭文件
}
catch (Exception e)
{
e.printStackTrace();
}
// 转化完毕
return true;
}
return false;
}
// ------------------------------------------------------------------------------
// 方法原型: main(String[] args)
// 功能描述: main文件
// 输入参数: 无
// 输出参数: 无
// 返 回 值: 无
// 其它说明: 无
// ------------------------------------------------------------------------------
public static void main(String[] args)
{
ActiveXComponent app = new ActiveXComponent("Word.Application");
String paths = new String(
"C:\\Users\\rylan\\Desktop\\公司工作\\临床路径拆分科室分类版\\所有文档");
String pathsOut = new String(
"C:\\Users\\rylan\\Desktop\\公司工作\\临床路径拆分科室分类版\\html");
// String filename = "垂体催乳素瘤临床路径2011.docx";
File docFiles = new File(paths);
String[] names = docFiles.list();
for (int i = 0; i < names.length; i++)
{
System.out.println(names[i]);
if(!names[i].startsWith("~"))
{
change(paths, names[i],pathsOut, app);
}
}
app.invoke("Quit", new Variant[] {});
}
}
分享到:
相关推荐
适用于将doc转换成docx maven项目 doc批量转换成docx
勿在未经授权的情况下上传任何涉及著作权侵权的资源,除非该资源完全由您个人创作
Aspose.Words for Java 支持多种Word文档格式,包括DOC, DOCX, RTF, HTML, MHTML, EPUB, DOT, DOTX等。 Aspose.Words for Java 提供了丰富的API,使得开发者可以轻松地实现以下功能: 文档处理:打开、编辑、保存...
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
Java实现HTTP连接与浏览,Java源码下载,输入html文件地址或网址,显示页面和HTML源文件,一步步的实现过程请下载本实例的Java源码,代码中包括丰富的注释,对学习有帮助。 Java实现的FTP连接与数据浏览程序 1个...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
资源内容:项目全套源码+完整文档 ...后台框架代码:java/c/c++/php/VB/lun/Andorid/Python 开发环境:idea 数据库:MySql(建议用 5.7,8.0 有时候会有坑) 部署环境:Tomcat(建议用 7.x 或者 8.x b版本),maven
资源内容:项目全套源码+完整文档 ...后台框架代码:java/c/c++/php/VB/lun/Andorid/Python 开发环境:idea 数据库:MySql(建议用 5.7,8.0 有时候会有坑) 部署环境:Tomcat(建议用 7.x 或者 8.x b版本),maven
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...
Java批量作业执行框架 MyBatchFramework MyBatchFramework 是一个开源的轻量级的用以创建可靠的易管理的批量作业的Java包,主要特点是多线程、调度、JMX管理和批量执行报表,执行历史等。 SIP协议包 jSIP.tar jSIP...