发新话题
打印

【jcp使用手册】打印结束回调脚本

【jcp使用手册】打印结束回调脚本

复制内容到剪贴板
代码:
var myDoc = { documents : document, copyrights : '杰创软件拥有版权 www.jatools.com' }; //定义回调方法 myDoc.done = function() { console.log("打印结束.") } getJCP().print(myDoc);
在jcp中,所有调用都是异步执行的,print方法也一样,该方法返回时,打印可能还没有结束,当打印结束时(指打印任务已经生成),jcp会检查myDoc上是否定义了done函数,如果有,则调用之。 回调有很多用处,如: 1.打印结束后通过 ajax写入到数据库,避免打印等; 2.可以一次打印多个文档,并使用不同的参数,比如,一键打印到不同打印机。 注意,打印结束是指打印任务已经生成,并不是指打印机已经打印完成,如,即使你的打印机处于关机状态,jcp也会调用done,只不过,打印任务仅列在打印机任务列表中,等待发往打印机而已。 也就是说,你不能用done来判断是否真的打印出来了。 jcp不允许连续调用 print方法, 但你可以在done回调里,再次调用print方法: 错误的二次打印:
复制内容到剪贴板
代码:
var myDoc = {...}; getJCP().print(myDoc); myDoc = {...}; getJCP().print(myDoc); // 连续调用,错误
正确的二次打印:
复制内容到剪贴板
代码:
var myDoc = { ... done : function() { myDoc = { ... }; getJCP().print(myDoc); } }; getJCP().print(myDoc);
采用done多次打印时,会生成多个系统打印任务。

TOP

TOP

发新话题