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使用总结(jacob)
使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。如果你要对 MS Word、Excel 进行处理,JACOB 是一个好的选择。JACOB目前已经成为sourceforge...
操作com组件的可以java直接调用vb的dll 或者直接操作word excel等程序
com一般表现为dll或exe等二进制文件,像我们呆会会用到的jacob.dll文件这里说说为什么我们用java去操纵office(如:word)要使用com,而不直接 使用java去做? 首先,我们清楚office是建立在windows平台之上的,本身是...
JACOB使得可以通过java调用微软com组件,例如ActivX object( word ,excel )
1、Java2Word是操作word的工具类,使用Jacod开源包调用word的com组件。 2、WordToPdf是使用Adobe Reader虚拟打印机实现打印word。 3、使用jacob技术调用2007自带的word转pdf工具,WordToPdfOffice2007是使用office...
jacob.jar,java和com组件间的桥梁,jacob-1.14.3-x64.dll文件。用java通过调用此jar相关的dll去操纵office(如:word)
在Java中调用Word的COM组件,使用它的方法来获取Word文档中的文本信息。
Jacob 是Java-COM Bridge...使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。Jacob下载的地址为:http://sourceforge.net/project/showfiles.php?group_id=109543&package_id=118368
JACOB 一个 Java-COM 中间件。通过这个组件你可以在 Java 应用程序中调用 COM 组件和 Win32 程序库。
操作com组件的可以java直接调用vb的dll 或者直接操作word excel等程序
jacob对java操作word文档提供了强大的api,它允许在java中调用com接口自动组件,它使用JNI(本地调用程序)来进行本地调用COM库。它可运行在x86和支持32位和64位Java虚拟机 X64的环境。
Jacob 是Java-COM Bridge的缩写,它在Java与微软的COM组件之间构建一座桥梁。使用Jacob自带的DLL动态链接库,并通过JNI的方式实现了在Java平台上对COM程序的调用。
使用JACOB允许任何JVM访问COM对象,从而使JAVA应用程序能够调用COM对象。如果你要对 MS Word、Excel 进行处理,JACOB 是一个好的选择。JACOB目前已经成为sourceforge的一个开源项目,官网地址为,现在最新的版本是...
1.jacob最新版本 2.word转pdf 3.java调用com组件转pdf
jacob 它允许在java中调用com接口自动组件,它使用JNI(本地调用程序)来进行本地调用COM库,可以操作word
Jacob是Java和Windows下的Com桥,通过它我们可以在Java程序中调用COM组件。如果你的JDK是1.4,那你需要下载Jacob1.9的jni库才能正常运行,早期版本在JDK1.4下有些问题。
JACOB一个JAva-COM中间件.通过这个组件你可以在Java应用程序中调用COM组件和Win32 libraries。
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...