调用浏览器自带的打印方法,window.print
,很难做到所谓的静默打印,即不弹打印机选择框进行打印,而jcp
可以让你自由选择,是否弹打印机选择对话框打印:复制内容到剪贴板
代码:
function doPrint(how) {
var myDoc = {
documents : document,
copyrights : '杰创软件拥有版权 www.jatools.com'
var jcp = getJCP();
if (how == '打印预览')
jcp.printPreview(myDoc, false);
else if (how == "打印预览(显示进度条)") {
jcp.printPreview(myDoc, true);
} else if (how == '弹出打印机选择对话框打印') {
jcp.print(myDoc, true);
} else
jcp.print(myDoc, false); // 不弹出对话框打印
}
从示例可见,jcp
的打印及打印预览,使用的是print,printPreview
两个方法,这两个方法参数个数及类型,完全一样。
第一个参数,是myDoc
,用来设置打印参数,比如可以设置输出打印机,纸张类型,边距等,其中必选的两个属性是documents,
和copyrights,documents
表示打印来源内容,如果打印内容为本文档中的page1,page2...div
,则设置为document
,copyrights
为定值,必须设置为示例所示值。
第二个参数,虽然都是 Boolean
类型,但print
方法,表示打印前,是否显示打印机选择对话框。
printPreview
的第二个参数,表示是否显示页面生成进度条,当有大数据量的自动分页时,建议显示这个进度条,提示用户等待。
两个方法都没有返回值,如果想知道打印是否完成,可以在myDoc
中,设置done
回调函数。