vue项目 生成二维码,pdfjs生成PDF并下载

13 篇文章 0 订阅

一 首先安装依赖

npm install qrcodejs2 --save
npm install jspdf --save 

qrcode用于生成二维码,jspdf用于生成pdf 以及pdf的下载

 

二 项目中使用

先引入

import QRCode from 'qrcodejs2';
import JsPDF from 'jspdf';

页面代码(一个空div,用来放置canvas):

<div style="position: absolute; visibility: hidden;" class="qrcode" ref="qrCodeUrl">
</div>

js代码:

this.printList = selectedItems;
var doc = new JsPDF('', 'pt', 'a4') //初始化pdf
for(let i=0; i<this.printList.length; i++){
     var canvasDiv = document.createElement("div"); //新建dom元素,如果只有一页,可以直接使用页面元素
     canvasDiv.id = 'canvas'+i
     this.$refs.qrCodeUrl.append(canvasDiv)
     var qrcode = new QRCode('canvas'+i, { //qrcode生成二维码
          text: this.printList[i].id,
          width: 70,
          height: 70,
          colorDark: '#000000',
          colorLight: '#ffffff',
          correctLevel: QRCode.CorrectLevel.H
      })
      let canvas = document.getElementById('canvas'+i).querySelector('canvas') //获取canvas元素
      var dataURL = canvas.toDataURL(); 
      canvas = null; 
      if(i==0){
           doc.addImage(dataURL, 'JPEG', 220, 80, 163, 163); //pdf增加图片
           doc.text(this.printList[i].manufacturerName, 260, 260) //pdf增加文字
           doc.text(this.printList[i].modelName, 260, 280)
      }else{
           doc.addPage(); //pdf新增一页
           doc.addImage(dataURL, 'JPEG', 220, 80, 163, 163);
           doc.text(this.printList[i].manufacturerName, 260, 260)
           doc.text(this.printList[i].modelName, 260, 280)
      }
}
doc.save('QRcode.pdf') //下载pdf,文件名叫QRcode.pdf

这样就可以打印出多页pdf,并下载

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值