【问题标题】:Print MSWord-Document with com4j使用 com4j 打印 MSWord 文档
【发布时间】:2011-01-01 16:59:18
【问题描述】:

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

document.printOut2000(true, false, WdPrintOutRange.wdPrintAllDocument, newDocumentPath, _, _, WdPrintOutItem.wdPrintDocumentContent, 1, _, WdPrintOutPages.wdPrintAllPages, true, true, _, false, 0, 0, 0, 0);

我从记录的 Word-Macro 和 http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.printout(v=VS.80).aspx 中获得了值

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

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

PC=0x770f48f9, pid=3792, tid=5996 处的 EXCEPTION_ACCESS_VIOLATION (0xc0000005)

Java VM:Java HotSpot(TM) Client VM(11.0-b16混合模式,共享windows-x86) 有问题的框架: C [OLEAUT32.dll+0x48f9]

知道如何解决这个问题吗?

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

【问题讨论】:

    标签: java ms-word printing access-violation com4j


    【解决方案1】:

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

    我不太确定,但试试吧,也许它是解决您问题的方法。

    【讨论】:

    • 不,方法的结果是ok的。 com4j 也打开了文档,所以这似乎不是问题。
    猜你喜欢
    • 2016-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-09-09
    • 2014-11-21
    • 1970-01-01
    相关资源
    最近更新 更多