html2pdf 不能识别标签,html2pdf 无法导出 html 中 img 图片的解决方法

html2pdf 是基于 html2canvas 和 jsPDF 开发的将 html 页面导出成 pdf 文件的插件,通过配置 opt 相关选项,可以自定义导出的选项,最近在使用 html2pdf 的时候,发现页面中的 img 图片导出的图案是空白的,查阅了相应的 issue 发现可以通过相关配置解决这个问题,这里做下记录。

【问题重现】

需要导出成pdf的的页面部分如下:

1d6ca65a30da9a6025cd0485b012c242.png

页面中的头像对应的标签如下:

0cdaa1c33f5006da8add1ff7ce5a7982.png

导出页面成pdf,查看效果如下:

b80f4d95fea1bdbe9fe5a9ebd8ede692.png

发现页面中的头像图片没有导出成功,同样是标签,为什么图片没法导出呢,查阅插件相关的issue (

发现原来是跨域问题,插件基于安全问题的考虑,默认禁止导出的html 中包含引用外链的img,并给出了对应的解决方案,如下:

db9765f5677419ca7cf16fc3828ac532.png

b9364aeb30e78200263284e75b5b6763.png

html2canvas 的配置项 options 中提供了两个字段,useCORS 和 proxy,因为 html2pdf 是基于 html2canvas 开发的,

所以在其配置项中包含了 html2canvas 字段,在这个字段中可以配置 html2canvas 的相关选项,如下:

const opt = {

filename: ‘myReport.pdf‘,

image: { type: ‘jpeg‘, quality: 0.95 },

pagebreak: { mode: [‘avoid-all‘, ‘css‘, ‘legacy‘] },

html2canvas: {

scale: 2,

useCORS: true,

},

jsPDF: { unit: ‘in‘, format: ‘letter‘, orientation: ‘portrait‘ },

};

修改完成后再次导出,查看效果,发现引用外链的图片已经可以正常导出了,如下:

0ece54fc216956fe09c239cb8529f080.png

原文:https://www.cnblogs.com/wx1993/p/12264649.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值