2017-07-05 113 views
0

我有一个图表和表格的报告。
我正在使用html2canvasjsPDF将此报告导出为PDF文件。toDataURL()很慢

但是这个过程需要很长时间,超过11000ms。
我试图改变格式,质量,但没有任何工作。

见我用下面的代码:

html2canvas($('#first-page'), { 
    onrendered: function(canvas) { 
     firstPage = canvas.toDataURL('image/jpeg', 0.5); 
    }, 
    background: '#ffffff' 
}); 


我做错了或真的是一个问题吗?
我如何提高性能?

+0

您是否验证过这是否需要这么多时间?我想象,在画布上呈现你的内容会花费很多时间...... – CBroe

+0

图像有多大? – Blindman67

+0

@CBroe我没有想到在画布中渲染html的这一步。我如何衡量这个时间? –

回答

1

您不需要使用toDataUrl。 http://jsfiddle.net/davidmather/sxp0meer/3/

html2canvas($('#first-page'), { 
onrendered: function(canvas) {    
    var doc = new jsPDF('p', 'mm'); 
    doc.addImage(canvas, 'PNG', 10, 10); 
    doc.save('sample-file.pdf'); 
} 
}); 
+0

很好,我不知道这一点。 不幸的是问题仍然存在,@CBroe如何向我解释,toDataURL()不是问题,而是将内容渲染到画布上 –