从动态html导出pdf

时间:2019-01-29 13:17:21

标签: javascript php html

我的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>

感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

您必须将画布另存为数据url,因为jsPdf的“ fromHtml”不支持画布渲染。