2014-10-07 46 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模板,我相信上述解決方案的許多應該工作,不管。