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,所以不會顯示。