我的 html 中有动态元素,加载了我的 javascript。 (例如图表之类的东西)。 我想将这些图表导出为 pdf。但是当我尝试时我没有它们,我只有像 h5 这样的静态 html
您可以在下面的示例中看到, Canvas 部分是空的,然后使用 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>
感谢您的帮助。
最佳答案
你必须将canvas保存为数据url,因为jsPdf的“fromHtml”不支持canvas渲染。
关于javascript - 从动态 html 导出 pdf,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54421969/