Svg 在浏览器中将Google GeoArt转换为图像(JPEG、PNG等)或PDF

Svg 在浏览器中将Google GeoArt转换为图像(JPEG、PNG等)或PDF,svg,export,google-visualization,Svg,Export,Google Visualization,我在用谷歌艺术(https://developers.google.com/chart/interactive/docs/gallery/geochart#Overview)在浏览器中动态生成颜色编码的贴图。GeoArt api使用javascript/svg绘制地图。。。生成可导出图像文件有什么建议吗?(pdf、光栅图像等) 这可以通过谷歌艺术来实现吗?如果没有,您是否可以推荐其他服务 *我们以前使用过Geomap,但分辨率不合适。这可以按照上的步骤完成。请注意,本文中的代码基于使用ifram

我在用谷歌艺术(https://developers.google.com/chart/interactive/docs/gallery/geochart#Overview)在浏览器中动态生成颜色编码的贴图。GeoArt api使用javascript/svg绘制地图。。。生成可导出图像文件有什么建议吗?(pdf、光栅图像等)

这可以通过谷歌艺术来实现吗?如果没有,您是否可以推荐其他服务


*我们以前使用过Geomap,但分辨率不合适。

这可以按照上的步骤完成。请注意,本文中的代码基于使用iframes的Google Visualization的旧版本,不会像发布的那样工作。但是,您可以使用以下代码(在注释中找到)执行相同的操作:


注意:我没有创建此代码,它最初是由上述网站的作者(Riccardo Govoni)创建的,并由用户Thomas在评论部分进行了更新。

这是很有可能的;我通过利用Highcharts中的SVG到图像转换器来实现这一点。您只需在页面中找到svg代码,并将其与类型参数(例如image/jpeg)一起发布到highcharts导出服务器,作为宽度,以及保存为的文件名

唯一的缺点:IE并没有呈现SVG,而是为Google可视化提供VML。目前还没有解决方案,但Highcharts似乎在IE和VML到SVG的转换方面也有困难。恐怕那里没有运气

<form method="post" action="http://export.highcharts.com/" id="imageGetForm">
<input type="hidden" name="filename" value="savedFromGoogleVisualization" />
<input type="hidden" name="type" id="imageGetFormTYPE" value="" />
<input type="hidden" name="width" value="900" />
<input type="hidden" name="svg" value="" id="imageGetFormSVG" />
</form>

这里的工作示例:

我可以按照您在示例中提到的相同方式下载google图表表吗?不可以。为什么要将表作为图像下载?相反,运行脚本将表导出到csv或类似文件会容易得多。
<form method="post" action="http://export.highcharts.com/" id="imageGetForm">
<input type="hidden" name="filename" value="savedFromGoogleVisualization" />
<input type="hidden" name="type" id="imageGetFormTYPE" value="" />
<input type="hidden" name="width" value="900" />
<input type="hidden" name="svg" value="" id="imageGetFormSVG" />
</form>
var svg=document.getElementById('chart_div').getElementsByTagName('svg')[0].parentNode.innerHTML;
$('#imageGetFormTYPE').val('image/jpeg');//e.g. image/jpeg application/pdf etc
$('#imageGetFormSVG').val(svg);
$('#imageGetForm').submit();