对于我的应用程序,我使用的是Canvg (也是jsPDF,但这与此无关),当我调用画布()方法时,它会给出以下错误:
未定义的TypeError:无法读取未定义的属性(读取'documentElement')
这是我的代码:
svgToPng(svg, callback){
let canvas = document.createElement('canvas');
let ctx = canvas.getContext('2d');
let data = svg.outerHtml;
canvg(canvas,data);
callback(canvas)
},
download(){
let el = d3.select('svg');
this.svgToPng(el, function(canvas) {
let img = canvas.toDataURL("image/png");
let doc = new jsPDF('l', 'mm', [50, 120]);
doc.addImage(img, 'PNG', 0, 0, 120, 50);
doc.save('wordcloud.pdf')
})
}一些额外的信息:
加载Canvg
<script type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/canvg/1.5/canvg.min.js" crossorigin="anonymous"></script>我试着通过NPM来安装,但是我也遇到了同样的错误。
提前感谢您的帮助!
发布于 2022-11-08 14:45:11
我已经找到了这个问题的答案。显然,我遵循的是一个过时的教程和“数据”是没有定义的。
我所做的就是移除.outerHtml,它起作用了。
谢谢你找我
https://stackoverflow.com/questions/74362367
复制相似问题