vue 实现调起打印机打印图片 与图片下载

需要创建一个标签,可以放在页面用样式隐藏起来

    <div id="printable-content" style="display: none">
      <div>
        <el-image
          style="width: 60px; height: 60px; border-radius: 50%"
          v-if="barrcodePicture"
          :src="baseUrl + barrcodePicture"
          :preview-src-list="[baseUrl + barrcodePicture]">
        </el-image>
      </div>
      <!-- 待打印的内容 -->
    </div>
    handleUpdate(row) {
      this.barrcodePicture = row.equipBarPic;
      setTimeout(() => {
        // 获取待打印的内容
        let printableContent = document.getElementById('printable-content').innerHTML;
        // 创建一个新的窗口并加载打印内容
        let printWindow = window.open('', '_blank');
        printWindow.document.write('<html><head><title>打印内容</title></head><body>' + printableContent + '</body></html>');
        // 执行打印操作
        printWindow.document.close();
        // 如果内容中有图片或其他需要一定时间加载的,请使用注释中的延时打印
        printWindow.print()
      }, 200)
      // printWindow.print();
      // var a = this.baseUrl + row.equipBarPic
    },

下载图片

      <el-button
            size="mini"
            type="text"
            icon="el-icon-download"
            @click="pictureDownload(scope.row)"
            v-hasPermi="['bill:barcodelog:edit']"
          >图片下载
          </el-button>
    async pictureDownload(row) {
      // 获取图片对象和画布对象
      const imageUrl = this.baseUrl + row.equipBarPic;
      const response = await fetch(imageUrl)
      const blob = await response.blob()
      // 创建下载链接
      const url = window.URL.createObjectURL(blob)
      const link = document.createElement('a')
      link.href = url
      link.download = row.equipName; // 下载之后的文件名称
      document.body.appendChild(link)
      link.click()
      document.body.removeChild(link)
      // 释放 Blob URL
      window.URL.revokeObjectURL(url)
    },

  • 9
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值