【发布时间】:2015-04-18 07:58:39
【问题描述】:
大家好。
我正在 Laravel 中制作类似 CRM 的东西,用户可以在其中看到 Highcharts 的图表和其他很酷的东西(基于他们的统计数据)。我还想每月以 PDF 格式(通过电子邮件)向他们发送统计数据。
https://github.com/barryvdh/laravel-snappy 擅长制作 PDF。
但是,问题来了:我想将 Highcharts 中的图像包含到这些 PDF 中。但是 Highcharts 是一个 JS 库。它确实提供了从图形中导出图像的功能。
所以真正的问题是:“我如何(在 Laravel/PHP 中)获取由 JS 创建的图像?”
也许我还必须运行像 Node.js 这样的 JS 服务器(我不知道,没有经验)并以某种方式从中获取图像?
【问题讨论】:
-
highcharts 允许您通过chart.getSVG() 返回 SVG,因此您只需将 SVG 转换为图像或将其放入 PDF。
-
谢谢,我已经解决了这个问题 - 我使用相同的刀片模板,用于向用户显示 Highcharts,为图表选项创建漂亮的 JSON。然后我在 PHP exec() 中启动 phantomjs 服务器,例如
phantomjs highcharts-convert.js -infile options_visitors.json -outfile visitors.jpg -scale 2.5 -width 2000 -constr Chart。所以我动态获取图片,下一步它们也被 PDF 创建者动态挂钩。
标签: javascript php laravel highcharts