截图并将图片导出为pdf

26 篇文章 1 订阅

如果地图导出有空白现象,检查地图是否有跨域资源,建议添加地图时,都设置为允许跨域。

 dataURItoBlob (dataURI) {
      const byteString = atob(dataURI.split(',')[1]);
      const mimeString = dataURI.split(',')[0].split(':')[1].split(';')[0];
      const ab = new ArrayBuffer(byteString.length);
      const ia = new Uint8Array(ab);
      for (let i = 0; i < byteString.length; i++) {
        ia[i] = byteString.charCodeAt(i);
      }
      return new Blob([ab], { type: mimeString });
    },

    // 将Blob对象转换为File对象
    blobToFile (blob, filename) {
      const file = new File([blob], filename, { type: blob.type });
      return file;
    },

    // 将Base64编码字符串转换为File对象
    base64ToFile (base64, filename) {
      const blob = this.dataURItoBlob(base64);
      return this.blobToFile(blob, filename);
    },
    // 下载报告
    downloadReport () {
      let _this = this
      let node = document.getElementById("mapDivreportForm")
      domtoimage.toPng(node, { quality: 1.0 })
        .then(function (dataUrl) {
          const base64String = dataUrl; // Base64编码字符串
          const file = _this.base64ToFile(base64String, this.statisticAnalysisForm.pdfName + '.png'); // 转换为File对象
          console.log(file, 'file')
          _this.exportPdf(file)
        });
    },
    exportPdf (dataUrl) {
      axios.post("/gj-lzz-pie/webBusiness/api/sldtjcBhxb/exportPDF",
        {
          currentPage: 1,
          pageSize: 9999,
          data: {
            code: "", //localStorage.fDatapermissionid
            shape: this.drawWkt,
            fileName: this.statisticAnalysisForm.pdfName,
            photoBase: dataUrl //file
          }
        },
        { responseType: "blob" }
      ).then(res => {
        const link = document.createElement('a')
        let blob = new Blob([res.data], { type: 'application/pdf;charset=utf-8' });
        link.style.display = 'none'
        link.href = URL.createObjectURL(blob);
        link.download = this.statisticAnalysisForm.pdfName + '.pdf'
        link.click()
      })
    },

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值