调用谷歌可视化API服务器端

Calling Google Visualization API Server-Side

本文关键字:服务器端 API 可视化 谷歌 调用      更新时间:2023-09-26

我正在做一个项目,涉及将网站上的一些HTML报告导出为PDF格式。我想使用优秀的飞碟Java库来实现这一点,但我的主要障碍是这些报告中有几个使用Google Visualization API用JavaScript生成图表。Flying-saucer目前不支持解析/执行JS,所以这些图表不会显示在生成的PDF文件中。

我希望通过查看是否有某种web服务,我可以通过服务器端代码调用而不是返回Base64中的图表图像作为变量,我可以在我的视图中引用,而不是通过JS获取它来解决这个问题。

旧的谷歌图像图表API正是我正在寻找的,但不幸的是它已经被弃用,看起来它将在明年完全被删除,所以它不是一个选择。

我希望谷歌有一个更新的替代方案。如果没有,有没有其他推荐的方法?谢谢!

您可以调用图表的getImageURI方法来生成一个图像/八字节流URI。您可以将该数据发送到服务器,并且您应该能够将图表重建为.png图像文件。我从未尝试过在服务器端执行此操作,因此我不确定您将如何执行此操作,但本java教程可能会对您有所帮助:http://www.programcreek.com/2009/02/java-convert-image-to-byte-array-convert-byte-array-to-image/

几年前我写了Eastwood Charts,它实现了Google Image Charts API作为servlet,由JFreeChart支持,这样你就可以生成图表而不必依赖Google,或者将数据发送到他们的服务器。: -)

我不再维护伊斯特伍德图表了(像谷歌,我也不能依赖),但它是开源的,代码可以工作,所以你可能会发现它很有帮助。您还可以修改它以满足您自己的要求,这是Google服务无法做到的。