2010-09-09 2 views
0

Я пытаюсь распечатать .doc-файл с com4j. Это мой код:Печать MSWord-Document с com4j

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

Я получил значения из записанного Word-макро и http://msdn.microsoft.com/en-us/library/microsoft.office.tools.word.document.printout(v=VS.80).aspx

Но я получаю следующее сообщение об ошибке:

An unexpected error has been detected by Java Runtime Environment:

EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x770f48f9, pid=3792, tid=5996

Java VM: Java HotSpot(TM) Client VM (11.0-b16 mixed mode, sharing windows-x86) Problematic frame: C [OLEAUT32.dll+0x48f9]

Любая идея, как я могу решить это?

Редактировать: Com4j открывает документ, поэтому я думаю, что результаты предыдущих методов не являются проблемой, но благодаря DTH для подсказки.

ответ

0

Нарушение доступа часто связано с проблемой памяти, например, перезапись буфера или даже нулевой указатель. Я бы предложил вам снова проверить свой код и контролировать результаты методов, которые вы используете, для подготовки документа перед печатью, чтобы вы могли видеть, работают ли они правильно.

Я не уверен в этом, но попробуйте, возможно, это решение вашей проблемы.

+0

Нет, результаты методов в порядке. Также com4j ist открывает документ, так что это, похоже, не проблема. – Tronje182