Code Bye

java调用打印机打印问题求解

/**
 * 打印Excel
 * @param path
 * @param printerName
 * @throws Exception
 */
public static void print(String path, String printerName)
throws Exception {
ComThread.InitSTA();
ActiveXComponent xl = new ActiveXComponent(“Excel.Application”);
try {
Dispatch workbooks = xl.getProperty(“Workbooks”).toDispatch();
Dispatch workbook = Dispatch.call(workbooks, “Open”, path).toDispatch();
Dispatch.callN(workbook, “PrintOut”, new Object[] {
Variant.VT_MISSING, Variant.VT_MISSING, new Integer(1),
new Boolean(false), printerName, new Boolean(true),
Variant.VT_MISSING, “” });
Dispatch.call(workbook, “Close”);
} catch (Exception e) {
e.printStackTrace();
throw e;
} finally {
xl.invoke(“Quit”, new Variant[] {});
ComThread.Release();
}
}
这是打印方法,我用main方法调用这个方法能成功的打印出来,但是用我页面调用(弄个button访问后台方法),就不能打印了,这是怎么回事?用jacob
ComThread.InitSTA();到这个就不往下面走了


20分
不往下走的原因是什么?报错还是没反应?
如果报错应该把异常发上来啊。
其实我想知道的是你这个方法执行了没有。你在ComThread.InitSTA();之前加一个sysout或者log看看是否运行了
引用 1 楼 AA5279AA 的回复:

不往下走的原因是什么?报错还是没反应?
如果报错应该把异常发上来啊。
其实我想知道的是你这个方法执行了没有。你在ComThread.InitSTA();之前加一个sysout或者log看看是否运行了

我后来加了异常处理,没抛异常,这句在初始化线程,分配资源,就一直卡在这了不往下执行

你看下这个帖子:
http://bbs.csdn.net/topics/300203689
楼主写一个线程试一试。
这个原因可能很多啦,没设置好,代码出错等等,你其实可以用finereport的flash打印效果的,要比这个好用

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明java调用打印机打印问题求解