Javascript 调用googlevisualizationapi服务器端

Javascript 调用googlevisualizationapi服务器端,javascript,google-visualization,flying-saucer,Javascript,Google Visualization,Flying Saucer,我正在做一个项目,涉及将网站上的一些HTML报告导出为PDF格式。我希望使用优秀的工具来实现这一点,但我的主要障碍是,其中一些报告使用Google可视化API来生成带有JavaScript的图表。飞碟目前不支持解析/执行JS,因此这些图表不会显示在生成的PDF文件中 我希望解决这个问题,看看是否有某种web服务可以通过服务器端代码调用,它将返回Base64中的图表图像作为变量,我可以在视图中引用它,而不是通过JS获取它 旧的正是我想要的,但不幸的是,它已经被弃用了,看起来它将在明年被完全移除,所

我正在做一个项目,涉及将网站上的一些HTML报告导出为PDF格式。我希望使用优秀的工具来实现这一点,但我的主要障碍是,其中一些报告使用Google可视化API来生成带有JavaScript的图表。飞碟目前不支持解析/执行JS,因此这些图表不会显示在生成的PDF文件中

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

旧的正是我想要的,但不幸的是,它已经被弃用了,看起来它将在明年被完全移除,所以它不是一个选项


我希望谷歌有一个新的选择。如果没有,是否有其他推荐方法?谢谢

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

几年前,我编写了一个将Google Image Charts API实现为servlet的应用程序,以支持,这样您就可以在不依赖Google的情况下生成图表,或者将您的数据发送到他们的服务器。:-)


我不再维护Eastwood图表(像Google一样,我也不能依赖它),但它是开源的,代码可以运行,因此您可能会发现它很有用。你也可以修改它以满足你自己的要求,这是谷歌服务不可能做到的。

在创建PDF之前,图表是否在客户端呈现?是的,它们目前都是通过网站上的HTML/JS在线呈现的。不幸的是,这正是我陷入困境的地方。如果我正确理解您的评论,用户需要首先在浏览器中加载单个HTML报告。出于我的目的,我需要提供一个链接,允许用户一次在一个PDF文件中生成所有(多个)HTML报告。我想我可以创建一个包含所有报告的页面,并将URI通过AJAX发送到服务器,但这似乎有点笨拙。这就是为什么我希望Google有一些更新的web服务,比如不推荐的Image Charts API——它非常适合通过服务器端代码获取流URI。Google没有替代品(我强烈怀疑会有),但还有其他的图表API,其中一些可以为您在服务器端创建图像。