vue element print js 打印文件流

2,148 阅读1分钟

后台返回二进制文件流,前端打印PDF代码

printDepositSlip(this.selectItems).then(res => {
  if (res.size > 0) {
    const binaryData = [];
    binaryData.push(res);
    let pdfUrl = window.URL.createObjectURL(
      new Blob(binaryData, { type: "application/pdf" })
    );
    printJs({ printable: pdfUrl, type: "pdf" });
  } else {
    this.$message.error('系统错误,请联系管理员!')
  }
})

思路是将文件流下载为PDF文件,在创建一个本地的URL传给print js