word或Excel程序是以一种COM组件的形式存在的。如果能从Java中调用word的COM组件,就能够使用它的方法获取Word文档中的文本信息,目前网上也有很多提供这种操作的工具。使用jacob前应确保本机安装有Word的应用程序,否则无法建立Java-COM桥,进而无法解析。
jacob的下载地址为http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368
下载到本机后解压缩。将jacob.jar复制到项目目录,增加到Java Build Path,然后将jacob.dll文件放入系统盘的system32文件夹下。如果没有放的话,会出现"no jacob-1.14.3-x86 in java.library.path"的异常。
1package test;
2
3import com.jacob.activeX.ActiveXComponent;
4import com.jacob.com.Dispatch;
5import com.jacob.com.Variant;
6
7public class WordReader {
8
9 public static void extractDoc(String inputFile, String outputFile){
10 boolean flag = false;
11 //打开word应用程序,生成一个ActivexComponent对象
12 ActiveXComponent app = new ActiveXComponent("Word.Application");
13 try{
14 //设置Word不可见
15 app.setProperty("Visible", new Variant(false));
16 //打开word文件
17 Dispatch doc1 = app.getProperty("Documents").toDispatch();
18 Dispatch doc2 = Dispatch.invoke(doc1, "Open", Dispatch.Method, new Object[]{ inputFile, new Variant(false),new Variant(true)},new int[1]).toDispatch();
19 //作文txt格式保存到临时文件
20 Dispatch.invoke(doc2, "SaveAs", Dispatch.Method, new Object[]{outputFile, new Variant(7)}, new int[1]);
21 //关闭word
22 Variant f = new Variant(false);
23 Dispatch.call(doc2, "Close", f);
24 flag = true;
25 }catch(Exception e){
26 e.printStackTrace();
27 }finally{
28 app.invoke("Quit", new Variant[]{});
29 }
30 if(flag == true){
31 System.out.println("Transformed Successfully!");
32 }else{
33 System.out.println("Transform Failed");
34 }
35
36 }
37
38 /**
39 * @param args
40 */
41 public static void main(String[] args) {
42 //对测试文本进行处理
43 WordReader.extractDoc("d:/index/网点地址.doc", "d:/index/网点地址.txt");
44 }
45}
2
3import com.jacob.activeX.ActiveXComponent;
4import com.jacob.com.Dispatch;
5import com.jacob.com.Variant;
6
7public class WordReader {
8
9 public static void extractDoc(String inputFile, String outputFile){
10 boolean flag = false;
11 //打开word应用程序,生成一个ActivexComponent对象
12 ActiveXComponent app = new ActiveXComponent("Word.Application");
13 try{
14 //设置Word不可见
15 app.setProperty("Visible", new Variant(false));
16 //打开word文件
17 Dispatch doc1 = app.getProperty("Documents").toDispatch();
18 Dispatch doc2 = Dispatch.invoke(doc1, "Open", Dispatch.Method, new Object[]{ inputFile, new Variant(false),new Variant(true)},new int[1]).toDispatch();
19 //作文txt格式保存到临时文件
20 Dispatch.invoke(doc2, "SaveAs", Dispatch.Method, new Object[]{outputFile, new Variant(7)}, new int[1]);
21 //关闭word
22 Variant f = new Variant(false);
23 Dispatch.call(doc2, "Close", f);
24 flag = true;
25 }catch(Exception e){
26 e.printStackTrace();
27 }finally{
28 app.invoke("Quit", new Variant[]{});
29 }
30 if(flag == true){
31 System.out.println("Transformed Successfully!");
32 }else{
33 System.out.println("Transform Failed");
34 }
35
36 }
37
38 /**
39 * @param args
40 */
41 public static void main(String[] args) {
42 //对测试文本进行处理
43 WordReader.extractDoc("d:/index/网点地址.doc", "d:/index/网点地址.txt");
44 }
45}
相关推荐
windows下,使用jacob调用word,直接可以使用java代码就可以生成word文档。
使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。如果你要对 MS Word、Excel 进行处理,JACOB 是一个好的选择。JACOB目前已经成为sourceforge...
jacob调用自定义宏 实现java对word完美操作
jacob操作WPS、Office对应Word、Excel、PPT生成PDF,采用版本为jaco1.7X。
NULL 博文链接:https://duanfei.iteye.com/blog/2401610
java调用com组件操作word使用总结(jacob)
主要为大家详细介绍了java使用jacob实现word转pdf,通过调用模板文件,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
java调用ocx控件的方法,jacob技术调用ocx控件的步骤、流程,java项目调用具体代码,java调用ocx控件参数传递,jacob调用ocx控件常见bug解决办法,并且附上了java调用word控件的demo代码
使用jacob转换office为PDF文件,需要将jacob.dll放到jdk\bin目录下
整个代码只需要一个jacob的jar包就可以运行了。 当然,在下载的文件里面还有个调用系统库的dll文件需要放置在...示例:D:\Java\jdk1.7.0_67\jre\bin\jacob-1.18-M2-x64.dll 这样代码就可以实现word转pdf,html 转word。
使用jacob操作系统的word,实现word编写以及保存和保存为html格式等(32位系统和64位系统通用(包涵win7))
jacob是java对word操作的两种途径之一,由于是调用原有word中的方法原理,所以比较好用,格式也可以尽可能的保留。但由于基于dll控件,所以只能在windows系统中运行。 我的包中有jacob的包和一下说明文档
java 操作word 如何用java调用word.exe的宏和其他功能? 继续上面的,现在发布一下我使用jacob调用word文件中的宏的代码。
完整项目包括所有jar包,完美支持html转word,并解决图片断网不能访问的问题。调用HtmlToWord类测试即可,注意修改调用文件的路径,因里面用到jacob,需要将jacob.dll拷贝到项目所在jre\bin目录下面
批量的实现了指定路径下的doc\docx文档转换为txt文档。
在Java中调用Word的COM组件,使用它的方法来获取Word文档中的文本信息。
操作com组件的可以java直接调用vb的dll 或者直接操作word excel等程序
jacob.jar1.20及使用方法 解压后获得3个文件 jacob.jar jacob-1.20-x64.dll jacob-1.20-x86.dll 包含(32位,64位)以及文档 jacob(java com bradge) 通过调用MS OFFICE可以快捷的将word excel ppt等转换为pdf
调用jacob dll内的方法 比如:Dispatch java就通过LibraryLoader和Dispatch h Dispatch cpp建立联系 从而建立起java到jacob dll到jni的之间的联系 LSH 调用Microsoft MediaPlayer等 )">JACOB里的总共有两个包:...
支持word、excel、ppt、wps、txt等多种格式转pdf、并支持pdf转word。个人感觉非常好用。