一、邮件需求
邮件中需要展示柱状图、折线图和饼图等图表数据。如图:
二、解决方案
将图表转成图片,采用html邮件文本,使用base64编码图片发送邮件。
将图表导出成图片有三种方式:
(1)JFreeChart
优点:导出图片操作简单。
缺点:导出图片的样式不美观。
(2)highcharts-serverside-export
优点:导出图片跟js渲染的一样完美,使用java API与js的使用方式一致。
缺点:缺少直接导出字节数组的API,图片没有办法像网页图表那样动态提示。
(3)Javafx Chart
优点:图表炫丽美观。
缺点:有可能出现服务器没有图形库API或者安装Server JRE无法导出图片。
base64编码
java8的Base64.getEncoder().encodeToString(byte[] bytes)