使用JS到图像/ PDF的HTML

时间:2011-06-03 12:38:56

标签: java javascript html

是否可以将带有javascript生成的图表的html页面转换为Java中的图像或PDF?

我熟悉iText框架,它似乎很合适,但我不确定它是如何处理JS生成的东西。

3 个答案:

答案 0 :(得分:1)

快速搜索this作为可能的答案。 使用库转换为XSL-FO,然后使用另一个转换为PDF。

编辑:This也可能会让您感兴趣。有些JBrowser类似乎可以让你打印网页。

答案 1 :(得分:0)

这取决于如何生成。我想有三种可能性:

  1. Canvas标签。 您需要使用toDataURL canvas方法

  2. 添加一些JS代码来获取图像
  3. SVG。 您可以添加一些代码,通过innerHTML方法获取生成的SVG文档的完整代码。

  4. 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