html js 打印 图片不显示 canvas

html js 打印 图片不显示 canvas
出现这个原因是因为 用的是 canvas
我们要将canvas 转成img 将之前的 canvas 替换掉 !!!

要打印的结构

在这里插入图片描述
在这里插入图片描述
你们的结构可能和我不一样, 我的结构是
在这里插入图片描述

 		var ids = document.getElementById(""+id).getElementsByTagName('canvas')[0]; //通过ID 获取 子元素 canvas
        var image = new Image(); //创建IMG
        image.src = ids.toDataURL("image/png"); //生成img
        $("#"+id).html(image)  //再将canvas 替换成 img

总体代码

var osload = function(){
        $('.rf-qr-p').each(function (letter, rows) { //查询  canvas 元素 然后 循环生成二维码
            let value = $(rows).data('src');
            // let id = $(rows).data('id');
            $(rows).qrcode({
                text: '' + value,
                width: 200,
                height: 200,
            });
            catoimg(rows,value) //这里是替换
        })
    }
    var catoimg = function(canvas,id){

        var ids = document.getElementById(""+id).getElementsByTagName('canvas')[0];
        var image = new Image();
        image.src = ids.toDataURL("image/png");
        $("#"+id).html(image)
    }

让我们试一下效果
在这里插入图片描述
对比一下现在的元素结构
不显示前
在这里插入图片描述
修改后:
在这里插入图片描述

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用以下代码导入 jsPDF 和 html2canvas 库: ```html <script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/1.5.3/jspdf.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/html2canvas/0.4.1/html2canvas.min.js"></script> ``` 然后,你可以使用以下代码将 HTML 元素转换为 Canvas 并将其添加到 PDF 中: ```javascript // 获取要打印HTML 元素 const element = document.getElementById("element-to-print"); // 使用 html2canvasHTML 元素转换为 Canvas html2canvas(element).then((canvas) => { // 创建一个新的 jsPDF 实例 const pdf = new jsPDF(); // 将 Canvas 添加到 PDF 中 pdf.addImage(canvas, "JPEG", 0, 0); // 保存 PDF 文件 pdf.save("filename.pdf"); }); ``` 以上代码将生成一个包含指定 HTML 元素的 PDF 文件,并将其保存到用户的计算机上。如果你想在浏览器打印该文件,可以使用以下代码: ```javascript // 获取要打印HTML 元素 const element = document.getElementById("element-to-print"); // 使用 html2canvasHTML 元素转换为 Canvas html2canvas(element).then((canvas) => { // 创建一个新的 jsPDF 实例 const pdf = new jsPDF(); // 将 Canvas 添加到 PDF 中 pdf.addImage(canvas, "JPEG", 0, 0); // 打印 PDF 文件 pdf.autoPrint(); // 显示打印预览 window.open(pdf.output("bloburl"), "_blank"); }); ``` 以上代码将打印显示一个包含指定 HTML 元素的 PDF 文件的打印预览。用户可以选择打印该文件或取消打印操作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值