【发布时间】:2015-08-23 18:01:11
【问题描述】:
我有一种情况,我在网页中生成多个图形并在画布中显示它们,我的要求是单击下载按钮时,我应该能够将所有画布图像导出为 pdf。
我已经使用 html2canvas 和 Jspdf 成功地为单个画布元素完成了此操作,但无法弄清楚如何对所有元素执行相同操作。
我按照这个 JSFiddle 代码从 Html2canvas 和 jspdf 生成 pdf。
$(document).ready(function() {
var d_canvas = document.getElementById('canvas');
var context = d_canvas.getContext('2d');
context.moveTo(20, 20);
context.lineTo(100, 20);
context.fillStyle = "#999";
context.beginPath();
context.arc(100, 100, 75, 0, 2 * Math.PI);
context.fill();
context.fillStyle = "orange";
context.fillRect(20, 20, 50, 50);
context.font = "24px Helvetica";
context.fillStyle = "#000";
context.fillText("Canvas", 50, 130);
$('#ballon').draggable();
$('#download').click(function() {
html2canvas($("#canvas"), {
onrendered: function(canvas) {
var imgData = canvas.toDataURL(
'image/png');
var doc = new jsPDF('p', 'mm');
doc.addImage(imgData, 'PNG', 10, 10);
doc.save('sample-file.pdf');
}
});
});
});
请帮忙,在此先感谢。
【问题讨论】:
-
循环?请发布一些示例代码。
-
这怎么没有按预期工作?
-
我想要一个例子,我可以从不同的画布中提取图像并将它们导出为 pdf
标签: html5-canvas jspdf html2canvas