2016-09-28 28 views
0

enter image description here由html2canvas製作的PDF中的highcharts圖片模糊?

(function() { 
 
\t var form = $('#printContent'); 
 
\t $('#create_pdf').on('click', function() { 
 
\t \t $('body').scrollTop(0); 
 
\t \t createPDF(); 
 
\t }); 
 
\t //create pdf 
 
\t function createPDF() { 
 
\t \t getCanvas().then(function(canvas) { 
 
\t \t \t var imgData = canvas.toDataURL("image/png"); 
 
\t \t \t var imgWidth = 210; 
 
\t \t \t var pageHeight = 295; 
 
\t \t \t var imgHeight = (canvas.height) * imgWidth/canvas.width; 
 
\t \t \t var heightLeft = imgHeight; 
 
\t \t \t var doc = new jsPDF('p', 'mm'); 
 
\t \t \t var position = 0; 
 
\t \t \t doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); 
 
\t \t \t heightLeft -= pageHeight; 
 
\t \t \t console.log(canvas.height); 
 
\t \t \t while(heightLeft >= 0) { 
 
\t \t \t \t position = heightLeft - imgHeight; 
 
\t \t \t \t doc.addPage(); 
 
\t \t \t \t doc.addImage(imgData, 'PNG', 0, position, imgWidth, imgHeight); 
 
\t \t \t \t heightLeft -= pageHeight; 
 
// \t \t \t \t console.log(position); 
 
\t \t \t } 
 
\t \t \t doc.save('file.pdf'); 
 
\t \t }); 
 
\t } 
 

 
\t // create canvas object 
 
\t function getCanvas() { 
 
\t \t return html2canvas(form, { 
 
\t \t \t imageTimeout: 0, 
 
\t \t \t removeContainer: false 
 
\t \t }); 
 
\t } 
 
}());

我用html2canvas,使PDF格式,但在PDF中的圖表是模糊的,有沒有解決辦法來解決呢?標題和圖例模糊,代碼在下面?

+0

也許你可以嘗試使用highcharts出口服務器讓你的圖像,然後讓你的PDF? http://www.highcharts.com/docs/export-module/export-module-overview –

+0

首先感謝您的回答,但網絡中還有其他元素像表格,這些元素被認爲是打印在PDF中的,所以Highcharts的導出模塊不適用。你能否給我其他建議?再次感謝 – Amanda

回答

0

如果設置傳說useHTML這解決了這個問題:

legend: { 
useHTML: true 
}