1 引入js
jquery.jqprint-0.3.js
jquery.qrcode.min.js
jquery-migrate-1.4.1.js
2 html元素 :二维码生成在img的div中,新增img标签,并设置为display:none
3 生成二维码
$("#ewm").qrcode("http://127.0.0.1:8080/pages/check/infos.html?id="+id)
4 打印
function printQrcode() {
var canvas = document.getElementsByTagName("canvas")[0];
var img = document.getElementById("image");
img.src = canvas.toDataURL();
$("#container").jqprint({
debug : false,
importCSS : true,
printContainer : true,
operaSupport : false
});
}
注意点:qrcode 生成的二维码是在canvas标签中,canvas标签不能直接打印,因为是动态的,打印会显示空白,所以加了一个img标签,先把canvas图像赋予给img,再打印img,由于上方有定义img标签的display属性为none,所以不会显示。