美文网首页
使用html2canvas把html画到图片上

使用html2canvas把html画到图片上

作者: 3e2235c61b99 | 来源:发表于2021-08-13 14:49 被阅读0次

    项目中需要按照用户填写的表单生成一个图片文件,在页面上预览图片文件之后还需要把这个图片文件打印出来.

    完整代码如下:

    <template>
      <div class="textAlignC">
        <div id="tbView">
          <h3>canvas html转图片</h3>
          <div class="disFlex">
            <div class="flex1">姓名</div>
            <div class="flex1">张三</div>
          </div>
          <div class="disFlex">
            <div class="flex1">性别</div>
            <div class="flex1">男</div>
          </div>
        </div>
        <button @click="init()">生成图片</button>
        <br />
        <img id="printImg" :src="dataURL">
        <br />
        <button @click="print()">打印图片</button>
    
      </div>
    </template>
    
    <script>
    import html2canvas from 'html2canvas';
    export default {
      data() {
        return {
          dataURL: ''
        }
      },
    
      created() {
    
      },
    
      methods: {
        print() {
          var newWin = window.open(""); //新打开一个空窗口
          var imageToPrint = document.getElementById("printImg"); //将要被打印的图片
          newWin.document.write(imageToPrint.outerHTML); //将图片添加进新的窗口
          newWin.document.close(); //在IE浏览器中使用必须添加这一句
          newWin.focus(); //在IE浏览器中使用必须添加这一句
          setTimeout(function() {
            newWin.print(); //打印
            newWin.close(); //关闭窗口
          }, 10);
        },
    
        init() {
          let that = this;
          html2canvas(document.getElementById("tbView"), {
            backgroundColor: null
          }).then(function(canvas){
            let dataURL1 = canvas.toDataURL("image/png");
            that.dataURL = dataURL1;
          });
        },
      }
    }
    </script>
    
    <style scoped>
    .disFlex {
      display: flex;
    }
    
    .flex1 {
      flex: 1;
    }
    
    #tbView {
      width: 1150px;
    }
    
    img {
      width: 70%;
    }
    </style>
    
    
    表单+图片
    打印预览

    相关文章

      网友评论

          本文标题:使用html2canvas把html画到图片上

          本文链接:https://www.haomeiwen.com/subject/crrdbltx.html