我想用这个来源打印QR码图片:
<img class="qrCode" src="<?=Url::to(['site/qrcode', 'code' => $model->id])?>"/>
控制器:
public function actionQrcode($code) {
return QrCode::jpg($code);
}
但在打印页面中,图片不显示。
Js代码:
function printDiv(el) {
var restorepage = document.body.innerHTML;
var printcontent = document.getElementById(el).innerHTML;
document.body.innerHTML = printcontent;
window.print();
document.body.innerHTML = restorepage;
}
答案 0 :(得分:0)
我认为这不是Yii2的问题,我认为问题出在你的JS中。
我猜几个变种:
$('.qrCode').attr("src", '<?= Url::to(['site/qrcode', 'code' => $model->id]) ?>');
- 你确定行正常吗?我的意思是它真的改变了你的图像的SRC .qrCode?网址是否正确?
function printDiv(el) {
var qrImage = new Image();
// wait 'till image loads
qrImage.onload= function() {
var restorepage = document.body.innerHTML;
var printcontent = document.getElementById(el).innerHTML;
document.body.innerHTML = printcontent;
$('.qrCode').attr("src", qrImage.src);
window.print();
document.body.innerHTML = restorepage;
}
qrImage.src = '<?= Url::to(['site/qrcode', 'code' => $model->id]) ?>';
}
答案 1 :(得分:0)
您可以使用以下代码打印QR码数据
$image = Yii::$app->params['BASE_URL'] . 'abc.png';
$qrcode = new \Zxing\QrReader($image);
$text = $qrcode->text();