Javascript 从动态html导出pdf
我的html中有动态元素,并加载了javascript。(例如图表)。 我想将这些图表导出为pdf格式。但是当我尝试时,我没有它们,我只有像h5一样的静态html 您可以在下面的示例中看到,画布部分为空,然后使用Chart.js加载Javascript 从动态html导出pdf,javascript,php,html,Javascript,Php,Html,我的html中有动态元素,并加载了javascript。(例如图表)。 我想将这些图表导出为pdf格式。但是当我尝试时,我没有它们,我只有像h5一样的静态html 您可以在下面的示例中看到,画布部分为空,然后使用Chart.js加载 <div id="stats"> <div class="card mb-4"> <div class="card-body"> <h5 cla
<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>
名义信徒/MOI
这就是我正在尝试的
<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>
var doc=new jsPDF();
变量specialElementHandlers={
“#编辑器”:函数(元素、渲染器){
返回true;
}
};
$('#exportPDF')。单击(函数(){
doc.fromHTML($('#stats').html(),15,15{
“宽度”:170,
“elementHandlers”:specialElementHandlers
});
doc.save('stats.pdf');
});
谢谢您的帮助。您必须将画布另存为数据url,因为jsPdf的“fromHtml”不支持画布渲染。可能重复@HenslerSoftware这不是图表特定的问题,我有多个元素,如VectorMapName问题,您必须将它们转换为图像,然后导入它们。@HenslerSoftware好的,我成功地将画布转换为图像,然后像你所说的那样添加到pdf中。但是正如我所说的,另一个无法工作,我不能从div更改为画布或使用一些技巧,例如在div之前添加画布。