Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/436.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将动态图表JS导出到jspdf_Javascript_Jquery_Chart.js - Fatal编程技术网

Javascript 将动态图表JS导出到jspdf

Javascript 将动态图表JS导出到jspdf,javascript,jquery,chart.js,Javascript,Jquery,Chart.js,我对以下代码有问题: var reportPageHeight=16500; var reportPageWidth=12400; //创建一个新的画布对象,我们将用所有其他画布对象填充它 var pdfCanvas=$('').attr({ id:“pcanvaspdf”, 宽度:reportPageWidth, 高度:reportPageHeight }); //跟踪画布位置 var pdfctx=$(pdfCanvas)[0].getContext('2d'); var pdfctxX=0

我对以下代码有问题:

var reportPageHeight=16500;
var reportPageWidth=12400;
//创建一个新的画布对象,我们将用所有其他画布对象填充它
var pdfCanvas=$('').attr({
id:“pcanvaspdf”,
宽度:reportPageWidth,
高度:reportPageHeight
});
//跟踪画布位置
var pdfctx=$(pdfCanvas)[0].getContext('2d');
var pdfctxX=0;
var pdfctxY=0;
var缓冲区=100;
//对于每个chart.js图表
$(“画布”)。每个(函数(索引){
//获取图表的高度/宽度
var canvasHeight=4000
var canvasWidth=6500;
//将图表绘制到新画布中
pdfctx.drawImage($(this)[0],pdfctx,pdfctxY,canvasWidth,canvasHeight);
pdfctxX+=画布宽度+缓冲区;
//我们的报告页面是一个网格模式,所以在新的画布中复制它
如果(索引%2==1){
pdfctxX=0;
pdfctxY+=画布高度+缓冲区;
}
});
//下载pdf
pdf.save('ChartPDF.pdf');
问题是,当图表导出为PDF时,我失去了图表的透明度,反而得到了黑色背景。导出为PDF时,有没有办法将其更改为白色


提前感谢。

将画布背景设置为白色:

canvas {
  background-color: #fff;
}
如果不起作用,请在图表的
插件
对象中绘制画布背景:

plugins: [
  {
    id: 'background',
    beforeDraw: function(chartInstance) {
      var chart = chartInstance.chart;
      var ctx = chart.ctx;
      ctx.fillStyle = backgroundColor;
      ctx.fillRect(0, 0, chart.width, chart.height);
    }
  }
],