JAVASCRIPT 将 div 导出为 PDF 时出错



当我单击按钮时,我正在尝试将div导出为pdf,但是我遇到了无法解决的javascript函数错误,有人可以帮助我吗?

有错误的图像

JavaScript

<script language="javascript">
var cache_width = $('#renderPDF').width(); //Criado um cache do CSS
var a4 = [595.28, 841.89]; // Widht e Height de uma folha a4
$("#btnPrint").live("click", function () {
// Setar o width da div no formato a4
$("#renderPDF").width((a4[0] * 1.33333) - 80).css('max-width', 'none');
// Aqui ele cria a imagem e cria o pdf
html2canvas($('#renderPDF'), {
onrendered: function (canvas) {
var img = canvas.toDataURL("image/png", 1.0);
var doc = new jsPDF({ unit: 'px', format: 'a4' });
doc.addImage(img, 'JPEG', 20, 20);
doc.save('NOME-DO-PDF.pdf');
//Retorna ao CSS normal
$('#renderPDF').width(cache_width);
}
});
});            
</script>

.HTML

<div class="table-responsive panel" id="renderPDF">
<table class="table">
<tbody>
<tr>
<td class="text-success"><i class="fa fa-list-ol"></i> Cliente ID</td>
<td>@Model.ID_Cliente</td>
</tr>
<tr>
<td class="text-success"><i class="fa fa-user"></i> Nome</td>
<td>@Model.Nome</td>
</tr>
<tr>
<td class="text-success"><i class="fa fa-home"></i> Morada</td>
<td>@Model.Morada</td>
</tr>
</tbody>
</table>
</div>

live方法已被弃用,并且可能会在jQuery版本中删除。

请尝试改用on

你使用的是哪个版本的jquery? .live 已从 1.9 版中删除。

$(document).on("click", '#btnPrint', function () {
// Setar o width da div no formato a4
$("#renderPDF").width((a4[0] * 1.33333) - 80).css('max-width', 'none');
// Aqui ele cria a imagem e cria o pdf
html2canvas($('#renderPDF'), {
onrendered: function (canvas) {
var img = canvas.toDataURL("image/png", 1.0);
var doc = new jsPDF({ unit: 'px', format: 'a4' });
doc.addImage(img, 'JPEG', 20, 20);
doc.save('NOME-DO-PDF.pdf');
//Retorna ao CSS normal
$('#renderPDF').width(cache_width);
}
});
});       

最新更新