有谁知道一种自动创建SVG图表的方法,并同时导出Highacarts图表的JPEG或PNG图像版本(最好是在 $(document).ready)?

我想显示SVG版本以屏幕屏幕,并将PNG或JPEG放入隐藏的DIV中以进行打印。

提前致谢。

有帮助吗?

解决方案

我的解决方案自动创建了我的页面/仪表板(以其起始状态)中每个图表的SVG的等效图像,而无需用户单独导出它们。这使页面上的所有HighCharts图形和图表都可以正确打印,而无需用户交互。

使用HighCharts图表的页面无法正确打印的原因是因为图表是使用SVG制作的,而通用浏览器的当前版本不支持打印SVG(书面2012年1月,2012年1月)。因此,我的解决方案将是无关紧要的。

我的解决方案围绕着当前的浏览器限制:

首先,我修改了Highcharts exporting.js 为了自动触发通常在用户手动选择导出图像时触发的例程。

接下来,重要的是要注意,当用户手动选择导出图像时,他们的请求将作为整体页面的标题请求发送。

因此,我对导出函数的修改并未直接发布HighCharts数据,但首先发布了HighCharts需要在我的页面/仪表板中划分的SVG和其他必要数据。

收到请求的每个Div包括一个例程的PHP文件 json_encodes 它从导出例程接收的帖子数据,然后将其发布到HighCharts Export Server作为其自己的标头。

因此,由于该帖子是从该div触发的,因此结果将直接发送回该div,作为该div中PHP脚本的标题。

一旦将其发送回到该div,我保存了图像,仅通过CSS进行DIV打印,该DIV的唯一HTML输出是带有图像文件路径的IMG标签。

我触发了所有的divs $(document).ready.

对其他尝试此操作的任何人的注释是,我的开发服务器和实时服务器的配置有所不同,这意味着我必须 stripslashes 在将其发送给HighCharts之前,JSON上的JSON。

以下帖子将指出其他任何试图朝着正确方向执行此操作的人。

使用PHP保存Google Chart图像将其保存到文件

发布到DIV:

在jQuery中的帖子表格和填充div-在IE中损坏

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top