Есть ли способ использовать Highcharts с конвертером mPDF?

Этот вопрос относится к HTMLtoPDF Converter.

Конвертер mPDF работает нормально с включенным css, но не с любой таблицей начальной загрузки или любыми элементами svg.

Как включить JS в HTML для mPDF?

1 ответ

mPDF не поддерживает JavaScript. Однако вы можете использовать один из следующих подходов:

  1. Получить SVG-код диаграммы, используя что-то вроде $('svg')[0].outerHTML и отправьте его на сервер, чтобы вставить в сгенерированный PDF-файл как изображение.

  2. Используйте сервис экспорта Highcharts для создания изображения (SVG или другого формата), которое можно вставить в PDF. Код выглядит следующим образом:

    var chart = $('.mychart').highcharts();
    var opts = chart.options;        // retrieving current options of the chart
    opts = $.extend(true, {}, opts); // making a copy of the options for further modification
    delete opts.chart.renderTo;      // removing the possible circular reference
    
    /* Here we can modify the options to make the printed chart appear */
    /* different from the screen one                                   */
    
    var strOpts = JSON.stringify(opts);
    
    $.post(
        'http://export.highcharts.com/',
        {
            content: 'options',
            options: strOpts ,
            type:    'image/svg+xml',
            width:   '1000px',
            scale:   '1',
            constr:  'Chart',
            async:   true
        },
        function(data){
            var imgUrl = 'http://export.highcharts.com/' + data;
            /* Here you can send the image url to your server  */
            /* to make a PDF of it.                            */
            /* The url should be valid for at least 30 seconds */
        }
    );
    

    Вы можете поэкспериментировать с различными вариантами звонков на http://export.highcharts.com/. Смотрите также http://www.highcharts.com/docs/export-module/export-module-overview

Обратите внимание, что mPDF не поддерживает некоторые свойства SVG, поэтому вы можете рассмотреть возможность экспорта диаграммы в виде растрового изображения.

Другие вопросы по тегам