Есть ли способ использовать Highcharts с конвертером mPDF?
Этот вопрос относится к HTMLtoPDF Converter.
Конвертер mPDF работает нормально с включенным css, но не с любой таблицей начальной загрузки или любыми элементами svg.
Как включить JS в HTML для mPDF?
1 ответ
mPDF не поддерживает JavaScript. Однако вы можете использовать один из следующих подходов:
Получить SVG-код диаграммы, используя что-то вроде
$('svg')[0].outerHTML
и отправьте его на сервер, чтобы вставить в сгенерированный PDF-файл как изображение.Используйте сервис экспорта 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, поэтому вы можете рассмотреть возможность экспорта диаграммы в виде растрового изображения.