看了有些文章说的 设置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