我一直在服务器端Java中将HTML + CSS转换为PDF,例如Flying Saucer(http://code.google.com/p/flying-saucer/)
现在,我需要研究随着RaphaelJS等客户端可视化API的增长而采用的替代方法,这些方法也应该包含在PDF导出中。
理想情况下,我只需要一个适合打印的布局和CSS(有点像谷歌地图),并且有一些神奇的方式可以让Javascript调用可以将窗口静默“打印”到PDF文件,而不是一个单独的PDF生成管道。
有没有这样的事情?
如果没有,您会推荐哪些其他方法?
例如
任何这些方法或其他建议都取得了成功吗?
答案 0 :(得分:1)
这两个选项对我有用:
使用 html2canvas 生成客户端PNG(仅适用于支持画布的情况)
服务器端PDF或PNG生成, wkhtmltopdf (您可能需要 xvfb )
请询问您是否需要有关如何使用这些解决方案的更多详细信息。
答案 1 :(得分:1)
我设置了一个(非常)简单的PhantomJS和CasperJS测试,以便能够使用无头浏览器打印PDF服务器端。它确实需要额外的非Java工具,但我认为这种方法更具有前瞻性。 在这些例子中,我能够动态加载网页,让角度初始化,然后使用Javascript代码与其进行交互,以便打印页面,因为用户可以在真实的浏览器中对其进行修改。
以下是我的示例:https://github.com/fmarot/miscPOC/tree/master/angularAppOutputPDF