我的javascript中的html中包含动态元素。 (例如图表之类的东西)。 我想将这些图表导出为pdf。但是当我尝试不使用它们时,我只有像h5这样的静态html
您可以在下面的示例中看到,画布部分为空,然后使用Chart.js加载。
<div id="stats">
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title text-uppercase">Nombre adherents / mois</h5>
<canvas id="myChartInscription"></canvas>
</div>
</div>
</div>
<a class="btn btn-primary" id="exportPDF" href="#">Export PDF</a>
<div id="editor"></div>
这就是我正在尝试的
<script src="https://cdnjs.cloudflare.com/ajax/libs/jspdf/0.9.0rc1/jspdf.min.js"></script>
<script>
var doc = new jsPDF();
var specialElementHandlers = {
'#editor': function (element, renderer) {
return true;
}
};
$('#exportPDF').click(function () {
doc.fromHTML($('#stats').html(), 15, 15, {
'width': 170,
'elementHandlers': specialElementHandlers
});
doc.save('stats.pdf');
});
</script>
感谢您的帮助。
答案 0 :(得分:1)
您必须将画布另存为数据url,因为jsPdf的“ fromHtml”不支持画布渲染。