尽管在html视图中显示,但是Chartjs在yii2中不会显示在pdf上

时间:2018-12-26 20:05:39

标签: yii2 chart.js mpdf

我使用Yii2,mpdf和chartjs开发了一个应用程序。该页面在html中效果很好,但是当我使用mpdf导出为pdf时却没有显示图表。我该怎么解决?

    <?= ChartJs::widget([
'type' => 'line',
'options' => [
    'height' => 400,
    'width' => 400,
    'show_as_html'=> true
],
'data' => [
    'labels' => ["January", "February", "March", "April", "May", "June", "July"],
    'datasets' => [
        [
            'label' => "Sales",
            'backgroundColor' => "rgba(255,99,132,0.2)",
            'borderColor' => "rgba(255,99,132,1)",
            'pointBackgroundColor' => "rgba(255,99,132,1)",
            'pointBorderColor' => "#fff",
            'pointHoverBackgroundColor' => "#fff",
            'pointHoverBorderColor' => "rgba(255,99,132,1)",
            'data' => [28, 48, 40, 19, 96, 27, 100]
        ]
    ]
]
]);
?>

1 个答案:

答案 0 :(得分:1)

您可以在MPDF文档中查看:https://mpdf.github.io/html-support/html-tags.html 不支持canvasscript标签。对于图表,大多数使用画布,您可以看到Chartsjs也使用画布来呈现其图表。 https://www.chartjs.org/docs/latest/general/responsive.html

大多数PDF生成器不支持丰富的HTML和图表。

我建议您使用phantomJS生成pdf。

http://phantomjs.org/

http://jonnnnyw.github.io/php-phantomjs/

对于PDF:http://jonnnnyw.github.io/php-phantomjs/4.0/3-usage/#output-to-pdf