Java 使用com4j打印MSWord文档

Java 使用com4j打印MSWord文档,java,ms-word,printing,access-violation,com4j,Java,Ms Word,Printing,Access Violation,Com4j,我正在用com4j打印一个.doc文件。 这是我的代码: document.printOut2000(true, false, WdPrintOutRange.wdPrintAllDocument, newDocumentPath, _, _, WdPrintOutItem.wdPrintDocumentContent, 1, _, WdPrintOutPages.wdPrintAllPages, true, true, _, false, 0, 0, 0, 0); 我从录制的Word宏和 但

我正在用com4j打印一个.doc文件。 这是我的代码:

document.printOut2000(true, false, WdPrintOutRange.wdPrintAllDocument, newDocumentPath, _, _, WdPrintOutItem.wdPrintDocumentContent, 1, _, WdPrintOutPages.wdPrintAllPages, true, true, _, false, 0, 0, 0, 0);
我从录制的Word宏和

但我得到的只是以下错误:

Java运行时环境检测到意外错误:

pc=0x770f48f9、pid=3792、tid=5996处的异常访问(0xc0000005)

Java虚拟机:Java热点(TM)客户端虚拟机(11.0-b16混合模式,共享windows-x86) 有问题的框架: C[OLEAUT32.dll+0x48f9]

你知道我怎么解决这个问题吗


编辑:Com4j正在打开文档,因此我认为前面方法的结果不是问题所在,但要感谢DTH的提示。

访问冲突通常与内存问题有关,例如缓冲区覆盖,甚至空指针。 我建议您再次检查代码,并在打印前控制用于准备文档的方法的结果,以便查看它们是否正常工作


我不是很确定,但是试试看,也许这就是你问题的解决办法。

不,这些方法的结果都是可以的。而且com4j正在打开文档,所以这似乎不是问题所在。