使用JACOB使用32位JVM生成PDF多年没有问题,使用Jacob.jar和Jacob.dll。 我们现在需要升级到64位JVM,原因有很多。我已经下载了64位的最新Jacob.jar和dll并安装并添加到路径中,但是当我运行时,我得到:
com.jacob.com.ComFailException: Can't co-create object
at com.jacob.com.Dispatch.createInstanceNative(Native Method)
at com.jacob.com.Dispatch.<init>(Dispatch.java:160)
at com.jacob.activeX.ActiveXComponent.<init>(ActiveXComponent.java:54)
at ...
我正在使用jre 1.8.0_131,Jacob.jar的清单是: -
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_79-b15 (Oracle Corporation)
Built-By: joe
Name: com.jacob
Specification-Title: JACOB : Java COM Bridge
Specification-Vendor: http://jacob-project.sourceforge.net
Implementation-Title: JACOB : Java COM Bridge Java libraries
Implementation-Version: 1.18 build 01 on 05-August-2015 05:01:11
Trusted-Library: true
Application-Name: Java-Windows Bridge
Permissions: all-permissions
Codebase: *
和Jacob dll是Jacob-1.18-x64.dll
有没有人在JACOB上使用64位JVM取得了成功。专门用于制作PDF? 任何建议都会有所帮助,因为我已经争取了一段时间! 我读过的其他堆栈溢出线程: - Can't co-create object
非常感谢
答案 0 :(得分:0)
我可以像这样在Java 1.8和Jacob-1.19-x64.dll上使用它
将dll复制到:
C:\ Windows \ SysWOW64 \
C:\ Program Files \ Java \ jdk1.8.0_141 \ lib
C:\ Program Files \ Java \ jdk1.8.0_141 \ bin
在注册表中,将注册表项DllSurrogate添加到键HKCRWow6432NodeAppID {E2779C61-F87E-4038-98A0-1D9E71334706}中,但不带任何值。
使用GUID {E2779C61-F87E-4038-98A0-1D9E71334706}在HKLMSoftwareClassesAppID中创建新密钥,不带任何值。
来源: