我正在使用jsPdf插件并执行此操作
var data = google.visualization.arrayToDataTable(dataValues,true);
var chart = new google.visualization.CandlestickChart(document.getElementById(id));
google.visualization.events.addListener(chart, 'ready', function () {
var content = '<img src="' + chart.getImageURI() + '">';
$('#graph-images').append(content);
});
function generatePDF() {
var imageTags = $('#graph-images img');
var doc = new jsPDF();
doc.setFontSize(33);
doc.setFillColor(135, 124,45,0);
doc.addImage(imageTags[0], 'png', 10, 10, 150, 100);
doc.save('sample.pdf');
}
通过使用这个我可以下载pdf文件,同时打开adobe reader中的pdf文件,说110错误。
任何人都可以帮忙,谢谢。
答案 0 :(得分:0)
您应该将图片URI传递给addImage()
:
google.charts.setOnLoadCallback(function() {
var data = google.visualization.arrayToDataTable(dataValues, true)
var chart = new google.visualization.CandlestickChart(document.getElementById(id))
chart.draw(data)
imgData = chart.getImageURI()
})
function generatePDF() {
var doc = new jsPDF();
doc.setFontSize(33);
doc.setFillColor(135, 124,45,0);
doc.addImage(imgData, 'png', 10, 10, 150, 100);
doc.save('sample.pdf');
}
请查看此实时演示,了解更多详情https://jsfiddle.net/p1frmxvp/1/
<强>更新强>
只有当我们使用jspdf 1.3.2并使用Adobe Reader打开pdf时才会发生错误here。到目前为止唯一的解决方案是使用其他查看器(Chrome,Foxit Reader .etc)打开pdf或将jspdf降级为1.2.61。我已经更新了上面的jsfiddle以使用降级的jspdf。