2014-10-07 110 views
1

我正在开发一个使用客户端MVC的Web应用程序。技术堆栈是服务器端的Backbone JS,HTML5和Spring。在JS中创建PDF文件

我有一个要求,我在客户端使用Javascript做了一些数据处理,使用JSON文件作为直接保存在Web服务器上的数据负载。这是该应用程序的高流量部分,我不想打我的应用程序服务器进行这样的数据操作。

现在在同一个模块 - 我有一个要求,我需要生成一个PDF文件,其中有效地包含一个静态模板,然后我需要填充模板使用有效的相同的数据,我已经在客户端。我需要生成PDF并让用户下载它。

任何想法如何在客户端以完全可靠的方式完全实现它。

+0

我想你也应该考虑浏览器对旧版浏览器的支持,所以后端解决方案可能会更好 – 2014-10-07 08:33:29

+0

我认为有必要提到这个网站也应该用在移动设备上。 – Abby 2014-10-07 08:33:38

+0

如果是我,我会尝试做服务器端PDF生成,我可以使用像wkhtmltopdf或princexml这样的工具生成一致的结果的PDF,而不管客户端浏览器如何。但是,如果您必须在客户端执行此操作,则可以考虑DocRaptor(https://docraptor.com/),它将HTML-to-PDF作为Web服务提供。据推测,客户可以将HTML和CSS发布到DocRaptor,然后检索PDF。我没有使用DocRaptor,但我知道它是基于PrinceXML的。 – 2014-10-08 17:52:20

回答

1

从我的理解是你有一个html模板,你想填充某些数据,然后将其呈现为pdf?

对于客户端,尝试寻找像jsPdf(http://parall.ax/products/jspdf)? html渲染器仍处于早期阶段,但似乎正常工作。

正如Bogdan指出的那样,后端解决方案也是可能的。您可以查看pd4ml(http://pd4ml.com/),甚至可以调用pandoc(http://johnmacfarlane.net/pandoc/)甚至phantomjs(http://phantomjs.org/)来执行转换,然后将生成的pdf传递回客户端。

如果它不是一个html模板,我相信上述解决方案的许多应该工作,不管。