vue 基于jsbarcode插件打印二维码

首先项目安装依赖
import JsBarcode from “jsbarcode”;
img,canvas和svg标签都可以
插件地址:https://github.com/lindell/JsBarcode/wiki/Options

<img  class="barcode" jsbarcode-format="CODE128" :jsbarcode-value="item.code" jsbarcode-textmargin="2" jsbarcode-fontoptions="bold" />
 <canvas class="barcode" jsbarcode-format="CODE128"
  jsbarcode-value="SH12110291348763025"
  jsbarcode-textmargin="2"
  jsbarcode-fontoptions="bold">></canvas>

下面讲打印功能(打包之后可能会注释丢失,导致找不到html,放到线上功能失效)

    print() {
      let bdhtml = window.document.body.innerHTML;
      let sprnstr = "<!--startprint-->"; //开始打印标识字符串有17个字符
      let eprnstr = "<!--endprint-->"; //结束打印标识字符串
      let prnhtml = bdhtml.substr(bdhtml.indexOf(sprnstr) + 17); //从开始打印标识之后的内容
      prnhtml = prnhtml.substring(0, prnhtml.indexOf(eprnstr)); //截取开始标识和结束标识之间的内容
      const newWindow = window.open("", "");
      newWindow.document.write(prnhtml);
      newWindow.window.print();
      newWindow.window.close(); // 打印完成后关闭后新窗口
      return false;
    }

另一种实现打印的功能

  <div  ref="print">
  要打印的内容
</div>
  print() {
      let obj = this.$refs.print;
      var newWindow = window.open();
      var docStr = obj.innerHTML;
      newWindow.document.write(docStr);
      newWindow.document.close();
      setTimeout(function () {
        newWindow.print();
        newWindow.close();
      }, 10);
    }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值