var doc = new jsPDF();
doc.setFontSize(30);
doc.setTextColor(244, 070, 017);
doc.setFont("courier");
doc.setFontType("normal");
doc.text(35, 25, '<?php echo "Accessi ".$months[$_POST['month']]." ".$_POST['year']; ?>');
function getImgData(chartContainer) {
var chartArea = chartContainer.getElementsByTagName('svg')[0].parentNode;
var svg = chartArea.innerHTML;
var chartDoc = chartContainer.ownerDocument;
var canvas = chartDoc.createElement('canvas');
canvas.setAttribute('width', chartArea.offsetWidth);
canvas.setAttribute('height', chartArea.offsetHeight);
canvas.setAttribute(
'style',
'position: absolute; ' +
'top: ' + (-chartArea.offsetHeight * 2) + 'px;' +
'left: ' + (-chartArea.offsetWidth * 2) + 'px;');
chartDoc.body.appendChild(canvas);
canvg(canvas, svg);
var imgData = canvas.toDataURL('image/JPEG');
doc.addImage(imgData, "JPEG", 0,30);
canvas.parentNode.removeChild(canvas);
return imgData;
}
$( document ).ready(function() {
$('#pdfBtn').click(function () {
var chartContainer = document.getElementById('line_div');
var chartDoc = chartContainer.ownerDocument;
var img = chartDoc.createElement('img');
img.src = getImgData(chartContainer);
doc.save('grafico.pdf');
});
});
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart()
{
var data = new google.visualization.DataTable();
data.addColumn('string', 'Giorni');
data.addColumn('number', 'Numero accessi');
data.addRows([
<?php
for ($i = 1; $i < $days; $i++) {
echo "['".$i."', ".$dati[$i]."], ";
}
echo "['".$i."', ".$dati[$i]."]";
?>
]);
var chart_div = document.getElementById('line_div');
var chart = new google.visualization.LineChart(line_div);
chart.draw(data, {
width: 780,
height: 340,
legend: 'right',
title: ''
});
}
</script>
<div id="line_div"></div>
<button id="pdfBtn">Salva PDF</button>
これは私の Google Chart で、PHP からデータを取得し、addRows の for サイクルを使用してグラフに入力します。jsPDF で作成したドキュメントをエクスポートできるボタン (pdfBtn) を追加しました。すべてがすべてのブラウザーで機能しますが、Firefox では、エクスポートされたドキュメントのグラフではなく黒い画像が表示されます。形式を PNG に変更しようとしましたが、黒ではなく白の画像が表示されます。JPEG と PNG の背景色のプロパティに関連していることはわかっていますが、CSS を設定しようとしましたが、何も機能しません。この問題を解決する方法が本当にわかりません。ただし、pdfBtn は Internet Explorer では動作しませんが、まずは Firefox で問題を解決していただければ幸いです。