`
Nacdice
  • 浏览: 11811 次
  • 性别: Icon_minigender_1
  • 来自: 西安
文章分类
社区版块
存档分类
最新评论

(转载)java调用com组件操作word使用总结(jacob)(3)

阅读更多
1.由于应用程序配置不正确,不能启用dll文件;

解决:版本不对,换另一个版本试一下.

2. ERROR [http-8080-Processor25] - Servlet.service() for servlet FileUploaded threw exception

     java.lang.UnsatisfiedLinkError: no jacob-1.14.3-x86 in java.library.path

     at java.lang.ClassLoader.loadLibrary(Unknown Source)

     at java.lang.Runtime.loadLibrary0(Unknown Source)

     at java.lang.System.loadLibrary(Unknown Source)

将dll文件复制到tomcat\bin目录下重新启动tomcat5.5

3.使用过程中(将项目发布到Tomcat5下运行时)提示

java.lang.UnsatisfiedLinkError:

Native Library D:\Program Files\Apache Software Foundation\Tomcat 5.5\bin\jacob-1.14.3-x86.dll

already loaded in another classloader

解决:将%Tomcat 5.5%\webapps\XXXX\WEB-INF\lib\下的jacob.jar包剪切到%Tomcat 5.5%\shared\lib目录下(或删除).




五.自己改写WordBean类:

1.改写前你要知道VBA,熟悉怎样用VBA操作word;

2.将VBA操作改到java代码;要知道com.jacob.com.Dispatch可容纳任何VBA中的集合对象;

如:Dispatch paragraphs = Dispatch.get(doc, "Paragraphs").toDispatch(); // 将Paragraphs 集合对象赋给Dispatch对象;

3.使用VBA对象属性:

如:int paragraphCount = Dispatch.get(paragraphs, "Count").getInt(); //调用Dispatch.get()方法获取Paragraphs 集合对象的Count属性;

4.调用VBA对象方法:

在VBA帮助中我们找到Document 对象Close方法是这样声明的:

expression.Close(SaveChanges, OriginalFormat, RouteDocument)

expression   必需。该表达式返回以上的一个对象。

SaveChanges   Variant 类型,可选。指定保存文档的操作。可以是下列 WdSaveOptions 常量之一:wdDoNotSaveChanges、wdPromptToSaveChanges 或 wdSaveChanges。

OriginalFormat   Variant 类型,可选。指定保存文档的格式。可以是下列 WdOriginalFormat 常量之一:wdOriginalDocumentFormat、wdPromptUser 或 wdWordDocument。

RouteDocument   Variant 类型,可选。如果该属性值为 True,则将文档发送给下一个收件人。如果文档没有附加传送名单,则忽略该参数。


因些我们可在WordBean添加一个这样的方法关闭文档:

public void closeDocument(int val) {

Dispatch doc = Dispatch.call(documents, "Open", docPath).toDispatch();   //doc是Document对象,调用

Dispatch.call(doc, "Close", new Variant(val));   // val 0不保存修改 -1 保存修改 -2 提示是否保存修改,对应VBA中Document 对象Close方法的SaveChanges参数

doc = null;

}

你会注意到Dispatch类重载了很多call方法,这与VBA中方法基本相似有很多参数是缺省的:

你可还会注意到Dispatch还有个invoke方法其实它和call差不多也是调用VBA对象方法的,只参数的形式不同(我目前这样认为)

Dispatch还有很多方法调用都是为配合调用VBA对象的方法,我还没有时间深入的看,等都明白再补上这部分说明;



参考(自己Gooogle一下):

JAVA 深度控制 WORD;

Aspose.Words for Java 发布-操作word的工具

用Java操作Office 2007(http://blog.163.com/peigen_peigen/blog/static/2704780200863082444566/)

Java/Office2007 以往java程序员要访问office文档,往往要借助各种各样的com组件,jni是难以避免的,因为office文档(word、excel、ppt)是二进制存储的。但是在许多系统中都要用到office文档,这个java程序员带来了一定的麻烦。   随着office2007的出现,文档存储支持OpenXML,使得java程序读写office文档不用必须借助第三方控件。以word2007为例,文档存储为*.docx文件,这实际上是一个压缩文件,通过java的ZIPjar包、TAR jar包,都可以访问,可以使用100%纯java代码完成对word2007文件的读取、写入操作。   比较详细的一个例子如下:http://www.infoq.com/articles/cracking-office-2007-with-java,有兴趣的可以去参考一下。   另外,office文档操作也有很多其他方法,比如POI、j-Interop等第三方工具包。
分享到:
评论

相关推荐

    java调用com组件操作word使用总结

    java调用com组件操作word使用总结(jacob)

    java调用com组件实例

    通过上述步骤,我们可以实现Java调用COM组件,比如Excel、Word等Office应用,或者任何其他支持COM接口的Windows服务和应用。JACOB提供了一种相对简单的方式来实现这一目标,避免了编写复杂的JNI代码。在实际项目中,...

    jacob-java调用word

    首先,JACOB允许Java调用Word中的宏。在使用JACOB调用Word宏之前,可以通过Visual Basic(VB)编写一个自动化的脚本来调用宏,并通过JACOB以Java代码实现相似的功能。具体来说,VB代码使用CreateObject创建Word应用...

    (转)Java jacob调用打印机打印word文档

    总结起来,Java Jacob库为Java开发者提供了一种调用Windows COM组件的能力,使得在Java中实现打印Word文档成为可能。通过理解Jacob的工作原理,掌握相关API的使用,开发者可以构建高效、可靠的自动化打印解决方案。

    java使用jacob工具操作word文档

    在Java中,有一种名为JACOB(Java COM Bridge)的库,它允许开发者通过Java代码调用COM组件来实现对Word文档的操作。本篇文章将详细介绍如何使用JACOB在Java中进行Word文档的读取和写入。 首先,JACOB是一个Java到...

    jacob 操作word 文档详解

    Jacob 操作 Word 文档详解 Jacob 操作 Word 文档概述 Jacob 是一个 Java 库,用于访问和操作 Microsoft Office ... Jacob 库是一个功能强大且易于使用的库,它可以帮助 Java 开发者快速地实现 Word 文档的操作。

    java操作word-jacob

    Jacob全称为Java COM Bridge,它是一个开源的Java库,允许Java应用程序利用COM(Component Object Model)接口来调用Windows上的COM组件,比如Microsoft Office套件中的Word。 在Java中,由于其原生不支持对Office...

    JAVA使用jacob操作MS word

    Jacob是Java语言的一个开源库,它提供了Java对COM组件的访问能力,从而让我们能够用Java调用MS Word的功能。 首先,要使用Jacob,你需要下载Jacob的库文件,通常是一个jar包(如`jacob-1.11.jar`)和对应的dll文件...

    java操作word之jacob(jacob.dll + jacob.jar),绝对实用

    使用Jacob进行Java操作Word的基本步骤如下: 1. **添加依赖**:首先,将`jacob.jar`添加到项目的类路径中。如果是Windows环境,还需要将`jacob.dll`放到系统PATH环境变量所包含的目录下,或者放在Java运行时可以...

    操作com组件的可以java直接调用vb的dll

    标题提到的“操作com组件的可以java直接调用vb的dll”,实际上是在阐述如何通过Java来利用VB编写的动态链接库(DLL)来操作COM组件,从而实现对Office应用如Word和Excel的控制。这里主要涉及的知识点包括Java COM互...

    Java 实现word文件增加图片水印 jacob实现 用到的jar

    接下来是Jacob(Java COM Bridge),这是一个Java到COM(Component Object Model)桥接器,允许Java代码直接调用Windows上的COM组件。在本例中,Jacob主要用于与Microsoft Word交互,因为Word本身提供了COM接口,...

    基于JACOB的Java通用WordWriter组件设计.pdf

    本文介绍了基于JACOB的Java通用WordWriter组件设计,旨在解决Java开发中调用COM组件和操作Word文档的问题。该组件采用CBSD开发思路,利用组件重组技术,实现了基于JACOB的Java通用WordWriter组件。该组件可以方便地...

    jacob调用自定义宏

    在这个示例中,我们使用jacob来调用Word的自定义宏,实现Java对Word的完美操作。 标题: jacob调用自定义宏 描述: jacob调用自定义宏实现Java对Word的完美操作 标签: jacob调用自定义宏 在这个示例中,我们首先...

    java通过jacob操作word,原码

    总结来说,这个项目是一个基于Java和Jacob的桌面应用,主要用于操作Word文档,如创建表格和设置字体。项目采用了三层架构,进行了代码重构,且经过了实际测试,保证了功能的稳定性和可靠性。如果你需要进一步了解...

    java操作word 封装包+jacob +dll

    首先,JACOB(JavaCOM Bridge)是一个Java到COM桥接库,允许Java程序调用COM组件,如Microsoft Office的Word应用。JACOB通过JNI(Java Native Interface)直接调用Windows平台的动态链接库(DLL),实现对COM对象的...

    java_jacob_操作word_文档

    ### Java Jacob 操作 Word 文档知识点详解 #### 一、Java Jacob 库介绍与...通过以上介绍,我们了解到使用 Java Jacob 库操作 Word 文档的具体方法和注意事项,这对于自动化办公任务、文档生成等应用场景非常有用。

    java使用jacob通过模板生成word文档完整项目

    Jacob全称为Java Advanced COM Bridge,它为Java提供了与COM组件交互的能力,让我们可以在Java程序中调用微软Office的各种功能,包括Word。 首先,了解Java中的Jacob库。Jacob是一个开源的Java库,它允许Java应用...

    如何利用Java-JACOB操作WORD文档

    本文主要探讨如何使用Java-JACOB来创建和操作Word文档。 首先,使用JACOB之前,确保你的系统中已经安装了Microsoft Office,并且配置了相应的COM组件。JACOB本身是一个开源项目,可以在SourceForge上找到...

    java调用WPS或pdfcreator的com接口实现doc转pdf

    本篇将详细讲解如何利用Java调用WPS(金山办公软件)或PDFCreator的COM接口来实现doc到pdf的转换。我们将探讨以下知识点: 1. **什么是COM接口**: COM(Component Object Model)是微软提出的一种组件对象模型,...

    Java操作MicrosoftWord之jacob.pdf

    Java操作Microsoft Word主要依赖于一个名为jacob的开源库,全称为Java-COM Bridge,它提供了Java与COM组件之间的桥梁,使得Java应用可以调用Windows平台上的Microsoft Office接口,包括Word、Excel等。jacob库包含三...

Global site tag (gtag.js) - Google Analytics