Генерация диаграмм и PDF

#highcharts #jspdf

#диаграммы #jspdf

Вопрос:

Я пытаюсь сгенерировать PDF-файл из графика высокого уровня. График отображается правильно на созданном холсте, но созданный PDF-файл имеет только «черное» пятно.

         var trendChart=$("#trendChart").highcharts();
        let trendSvgString = trendChart.getSVG({
            exporting: {
                sourceWidth: trendChart.chartWidth,
                sourceHeight: trendChart.chartHeight
              }
        });
        
        let parser = new DOMParser();
        var EXPORT_WIDTH = 1000;
        var render_width = EXPORT_WIDTH;
        var render_height = render_width * trendChart.chartHeight / trendChart.chartWidth
        
        
        var canvas = document.createElement('canvas');
        canvas.height = render_height;
        canvas.width = render_width;
        document.body.appendChild(canvas);
         
        var ctx = canvas.getContext("2d");
        
        var image = new Image;
        image.onload = function() {
            canvas.getContext('2d').drawImage(this, 0, 0, render_width, render_height);
        };
        image.src = 'data:image/svg xml;base64,'   window.btoa(trendSvgString);
        var dataURL = canvas.toDataURL("image/jpeg");   
        
        console.log(dataURL);
        
        var doc = new window.jspdf.jsPDF('p','pt','a4');
        doc.addImage(dataURL, 'JPEG', 10, 10, 500, 200);
    
         
        doc.save('a4.pdf')
        
        console.log('pdf generated');
 

Чего здесь может не хватать?

Комментарии:

1.Я бы предложил использовать специальное решение для экспорта файлов в highcharts — в зависимости от ваших потребностей: экспорт на стороне клиента или ваш собственный экспорт-сервер: highcharts.com/docs/export-module/client-side-export highcharts.com/docs/export-module/setting-up-the-server

2. @madepiet Я хочу сделать это чисто на стороне клиента и, следовательно, вопрос.