【VUE 获取PDF文档流直接打印】

const params = {
        id: this.base_info.id,
        is_export: 1
      }
      http
        .download('post', api.exportPdfByPhp, params)
        .then(response => {
          let res =
              response.headers['content-disposition'].match(
                /filename="(\S*)"/
              )
          if (response.config.responseType === 'blob') {
              printFile(response.data,res && decodeURIComponent(res[1]))
          }
        })
        .catch(() => {})

res 返回值

请添加图片描述

export function printFile(data,filename = "模板") {
    let file = new File([data], filename, blob);
  const blob = new Blob([file], { type: 'application/pdf' })
  var date = (new Date()).getTime()
  var ifr = document.createElement('iframe')
  ifr.style.frameborder = 'no'
  ifr.style.display = 'none'
  ifr.style.pageBreakBefore = 'always'
  ifr.setAttribute('id', 'printPdf' + date)
  ifr.setAttribute('name', 'printPdf' + date)
  ifr.src = window.URL.createObjectURL(blob)
  document.body.appendChild(ifr)
  var ordonnance = document.getElementById('printPdf' + date).contentWindow
  setTimeout(() => {
    ordonnance.print()
  }, 100)
  window.URL.revokeObjectURL(ifr.src) // 释放URL 对象
  console.log(ifr.src)

}
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值