你可以设置监听一些事件,比如,是否打开了打印预览窗口:
复制内容到剪贴板
代码:
function doPrint(how) {
var myDoc = {
listener : function(e) {
console.log(decodeEvent(e));
},
documents : document,
copyrights : '杰创软件拥有版权 www.jatools.com'
};
var jcp = getJCP();
if (how == '打印预览...')
jcp.printPreview(myDoc);
else if (how == '打印...')
jcp.print(myDoc, true);
else
jcp.print(myDoc, false);
}
// 根据事件的类型,提取相应的参数
function decodeEvent(e) {
var result = e.type + ',';
if (e.type == 'window-open') {
result += '预览窗口打开';
} else if (e.type == 'window-close')
result += '预览窗口关闭';
else if (e.type == 'doc-start')
result += '开始文档打印';
else if (e.type == 'doc-stop')
result += '结束文档打印';
else if (e.type == 'page-printed') {
result += '正在打印一页,';
result += ('页号:' + e.pageNumber + ',');
result += ('总页数:' + e.totalPages);
} else if (e.type == 'printed') {
result += '打印结束';
} else if (e.type == 'cancel-print') {
result += '打印取消,';
result += '原因:' + e.error;
} else if (e.type == 'job') {
result += (e.printerName + ' ' + e.document + ' ' + e.status + ' ' + e.statusText + ' ' + e.userName + ' ' + e.pagesPrinted + ' ' + e.totalPages + ' ' + e.size + ' ');
}
return result;
}
如果你设置 listener回调,相关事件发生时,会调用listener,并传入一个参数,该参数是一个Object对象,其中type属性指明事件类型,可能取值有:
Type属性值
说明
其他属性
window-open
预览窗口打开
window-close
预览窗口关闭
doc-start开始文档打印
doc-stop结束文档打印
page-printed正在打印一页
pageNumber:页号
totalPages:总页数
printed
打印结束
cancel-print
打印取消
error:原因
job
打印任务状态变化
document :文档名称
id :打印任务id
pagesPrinted :已被打印页
shortDocument :文档简称
status:状态码
statusText :状态说明
totalPages :总页数
userName :发起打印的用户名