2017-07-05 111 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()不是問題,而是將內容渲染到畫布上 –