前端利用 html2canvas 和 jsPDF生成 PDF 网络图片跨越 注意问题

前端使用html2canvas和jsPDF生成PDF时遇到网络图片跨域问题,设置a标签crossOrigin属性无法解决问题。解决方法包括:1.服务器配置允许跨域;2.后端生成PDF。目前未找到仅靠前端处理跨域的方案。
摘要由CSDN通过智能技术生成

看了有些文章说的 设置a标签 crossOrigin='*' 或者 anonymous 就可以解决跨越 然后降网络图片转base64位 就可以实现跨越,但是问题 是 一但设置 a标签后,就会出错,导致后面操作无效化。

如:

光先设置 前端 a标签 image.setAttribute("crossOrigin", 'anonymous'); 就会有报错提示

然后也没找到单单通过前端处理 可以解决这类问题的,或者能正常生成pdf

解决方法:

1.服务器去配置 跨越问题 (如果是华为云 obs 等 云服务器的话,去配置相关云服务器的 ) 

 然后利用html2canvas 和 jsPDF

      html2canvas(html, {
              allowTaint: true, //允许污染
              useCORS: true, //使用跨域(当allowTaint为true时这段代码没什么用,下面解释)

            }).then((canvas) => {
              // pdf 
              let contentWidth = canvas.width
              let contentHeight = canvas.height
              let pageHeight = contentWidth / 592.28 * 841.89
              let
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值