杰表技术论坛 's Archiver

admin 发表于 2017-12-26 09:56

【jcp使用手册】监听其他事件

你可以设置监听一些事件,比如,是否打开了打印预览窗口:[code]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;  
}  [/code]如果你设置 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 :发起打印的用户名

admin 发表于 2017-12-26 09:58

在线演示:[url=http://print.jatools.com/jcp/0.99/listener.htm]http://print.jatools.com/jcp/0.99/listener.htm[/url]

页: [1]

Powered by Discuz! Archiver 6.1.0  © 2001-2007 Comsenz Inc.