用java程序读word文档

dchjmichael 2011-03-16 10:18:47
RT,如何用java写一个程序验证word文档是否满足某种格式,比如标题是哪种字体,大小
...全文
53 3 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
animshuod521 2011-03-16
  • 打赏
  • 举报
回复
二楼的正解,但是你的DLL文件得注册
IM8888 2011-03-16
  • 打赏
  • 举报
回复
使用jacob:只能是windows系统使用,

下载zip包,解压,得到一个jar和一个dll,jar导入到项目,dll放到C:\WINDOWS\system32目录下

import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class TestWord{
public static void main(String[] args){
System.out.println(ChageFormat("c:\\","test.doc"));
}
public static boolean ChageFormat (String FolderPath,String FileName){

String FileFormat = "";
System.out.println(FolderPath);
FileFormat = FileName.substring(FileName.length()-4,FileName.length());
System.out.println(FileFormat);

if(FileFormat.equalsIgnoreCase(".doc"))
{
String DocFile = FolderPath +"\\"+ FileName;
System.out.println("word文件路径:"+DocFile);
//word文件的完整路径
String HtmlFile = DocFile.substring(0, (DocFile.length() - 4)) + ".txt";//要是用htm的,把这里改成.htm
System.out.println("htm文件路径:"+HtmlFile);
//html文件的完整路径
ActiveXComponent app = new ActiveXComponent("Word.Application");
//启动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(7)}, new int[1]);//需奥生成htm的话,改成 new Variant(8),把上面的.txt,改成.htm
//作为htm格式保存文件
Dispatch.call(doc, "Close",new Variant(false));
//关闭文件
}
catch (Exception e)
{
e.printStackTrace();
}
finally
{
app.invoke("Quit", new Variant[] {});
//退出word程序
}
//转化完毕
return true;
}
return false;
}
}
IM8888 2011-03-16
  • 打赏
  • 举报
回复
先解析word文档。

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧