我正在尝试使用pahntomjs和highcharts通过电子邮件发送图表,到目前为止,我已经能够使用此处的代码生成图像https://github.com/vgno/highcharts-png-renderer 我需要能够为最多1k用户动态生成这些图表图像,并将生成的图像附加到将发送给用户的电子邮件模板。请使用哪些工具或代码库来实现此目的。我主要是一名C#开发人员,但我对任何建议持开放态度。
谢谢
答案 0 :(得分:1)
我在highcharts blog中找到了一篇有趣的文章。
提供的解决方案是:
要在服务器上运行Highcharts,我们需要模拟服务器上的浏览器环境。为此,我们使用PhantomJS,一个带有JavaScript API的无头WebKit。 Phantom进程将我们的highcharts-convert.js脚本作为参数加上命令行参数。使用命令行参数,我们将传递Highcharts配置,输出文件的名称和图形布局的参数。用法示例:
phantomjs highcharts-convert.js -infile options.json -outfile chart.png -scale 2.5 -width 300 -constr Chart -callback callback.js
您可以参考此github repo获取由Highcharts团队自己准备的一些phantomjs
脚本
在NodeJS中生成服务器端图表的Highcharts released last December an npm package
。
与Java导出服务器一样,节点可以作为命令行界面运行,也可以作为独立的http(s)服务器运行。命令行开关(如果在服务器模式下运行,则POST选项)与现有的导出服务器完全兼容 - 还有一些额外的服务器。 CLI模式还替换旧的highcharts-convert.js PhantomJS脚本。
您可以参考github repo
上一个示例希望您使用Java
或NodeJS
导出服务器。在这个blog post中,您可以找到使用C#服务器完成的另一个实现 - 这似乎更适合您