Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从动态html导出pdf_Javascript_Php_Html - Fatal编程技术网

Javascript 从动态html导出pdf

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

我的html中有动态元素,并加载了javascript。(例如图表)。 我想将这些图表导出为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>

名义信徒/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之前添加画布。