使用html-to-image导出画布图片时饼图被裁剪的问题求助
html-to-image导出画布图片时饼图被裁剪的问题求助
我正在开发一个仪表盘网站,页面里有一个包含饼图的画布区域。目前我用html-to-image库实现图片导出,用jspdf库实现PDF导出,具体代码如下:
useEffect(() => { if (pageSettings.callForDownload) { const input = document.getElementById( "GraphAreaToDownload" ) as HTMLElement; const d = new Date(); const id = `${tabTileProps.selectedTabName}_${d.getDate()}${d.getMonth() + 1 }${d.getFullYear()}:${d.getHours()}${d.getMinutes()}${d.getSeconds()}`; if (pageSettings.downloadType === "pdf") { // exporting for pdf html2canvas(input).then((canvas) => { const imageData = canvas.toDataURL("image/png"); const pdf = new jsPDF( pageSettings.SelectedOrientation, "px", pageSettings.selectedFormat ); var width = pdf.internal.pageSize.getWidth(); var height = pdf.internal.pageSize.getHeight(); const heightAndWidth = getHeightAndWidth(height, width); pdf.addImage( imageData, "JPEG", pageSettings.left_margin, pageSettings.top_margin, heightAndWidth.width, heightAndWidth.height ); pdf.save(`${id}`); resetPageSettings(); }); } else { //exporting for image toPng(input, { cacheBust: true }) .then((dataUrl: any) => { const link = document.createElement("a"); link.download = `${id}`; link.href = dataUrl; link.click(); resetPageSettings(); }) .catch((err: any) => { Logger("error", "", err); }); } } }, [pageSettings.callForDownload]);
现在遇到的问题是:导出PDF时饼图显示完整、完全正常,但用html-to-image导出图片时,饼图会被裁剪。
我已经尝试调整过内边距和外边距的参数,但导出的图片还是存在裁剪问题。希望能找到解决方法,让导出的图片和PDF一样完整显示整个饼图。
备注:内容来源于stack exchange,提问作者Shilpa
相关产品推荐
相关产品推荐

