是否可以将带有javascript生成的图表的html页面转换为Java中的图像或PDF?
我熟悉iText框架,它似乎很合适,但我不确定它是如何处理JS生成的东西。
答案 0 :(得分:1)
答案 1 :(得分:0)
这取决于如何生成。我想有三种可能性:
Canvas标签。
您需要使用toDataURL
canvas方法
SVG。 您可以添加一些代码,通过innerHTML方法获取生成的SVG文档的完整代码。
Flash中。 最坏的情况。我认为实现你想要的东西几乎不可能。
答案 2 :(得分:0)
解决方案1
如果您可以访问纯HTML(在JavaScript执行并构建页面后执行),您可以轻松地将其传递给iText并将其转换为PDF。我建议使用Flyng-Saucer(后者使用iText),它有一个非常好的方便的API(参见http://code.google.com/p/flying-saucer/)。
解决方案2
另一方面,如果您无法访问最终的HTML输出,则可以使用Swing库呈现页面,然后截取它。这将允许您甚至使用Flash,但我不确定这种方法是否适合您的问题。
但是,如果是这种情况,您可以将网页加载到Swing应用程序中(您需要依赖第三方浏览器组件来获得JS支持,但那里有很多),然后你可以使用Robot类来获取它的截图。
查看http://download.oracle.com/javase/6/docs/api/java/awt/Robot.html