在laravel中通过电子邮件发送chartjs图表

问题描述 投票:-1回答:1

将chartjs中的图表通过电子邮件发送到电子邮件地址。将图形作为附件或电子邮件正文发送。请告诉我如何在laravel中将图表附加到电子邮件中。任何源代码都会有所帮助。

php laravel chart.js
1个回答
1
投票

我也遇到了这个问题,我想将Chart.js图表​​作为图像。我构建了一个Web服务,它接受Chart.js配置并返回一个PNG图像。

该服务被称为QuickChart,它是open source

像这样获取Chart.js配置:

{
  type: 'bar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May'],
    datasets: [{
      label: 'Dogs',
      data: [ 50, 60, 70, 180, 190 ]
    }, {
      label: 'Cats',
      data: [ 100, 200, 300, 400, 500 ]
    }]
  }
}

并将其放入URL:

https://quickchart.io/chart?c={type:'bar',data:{labels:['January','February','March','April','May'],datasets:[{label:'Dogs',data:[50,60,70,180,190]},{label:'Cats',data:[100,200,300,400,500]}]}}

/chart端点返回此PNG:

Example image chart

不要忘记对图表配置进行URL编码。要在PHP中使用它,请使用urlencode函数对图表定义进行编码:

$chart = "{
  type: 'bar',
  data: {
    labels: ['January', 'February', 'March', 'April', 'May'],
    datasets: [{
      label: 'Dogs',
      data: [ 50, 60, 70, 180, 190 ]
    }, {
      label: 'Cats',
      data: [ 100, 200, 300, 400, 500 ]
    }]
  }
}";

$encoded = urlencode($chart);
$imageUrl = "https://quickchart.io/chart?c=" . $encoded;

// Embed $imageUrl in your email
© www.soinside.com 2019 - 2024. All rights reserved.