Chartjs не отображается в pdf в yii2, несмотря на отображение в html-представлении - PullRequest
0 голосов
/ 26 декабря 2018

Я разработал приложение с использованием Yii2, mpdf и chartjs.Страница хорошо работает в html, но не показывает диаграмму при экспорте в pdf с использованием mpdf.Как я могу решить это?

    <?= 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 голосов
/ 27 декабря 2018

Вы можете увидеть в документах MPDF: https://mpdf.github.io/html-support/html-tags.html, что теги canvas и script не поддерживаются.в случае диаграмм, большинство из которых использует canvas, вы можете видеть, что chartsjs также использует canvas для визуализации своих диаграмм.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

...