2011-05-15 92 views
6

我正在使用Raphael創建動態可視化。是否可以允許在Canvas上生成的圖像作爲SVG/PDF或其他圖像格式下載?下載Raphael canvas作爲SVG或PDF

+0

爲了響應第一條評論。我針對所有符合標準的瀏覽器。理想情況下更喜歡免費的解決方案,不需要Flash。服務器端解決方案很好。 – Farhat 2011-05-16 05:06:11

+1

第一個答案爲您提供了一個解決方案,您正在問:使用Vector Converter將VML作爲SVG(此步驟僅適用於IE6-8)。然後使用wkhtmltopdf將SVG處理爲PDF文檔。將它作爲application/pdf和voilá返回! – Simeon 2011-05-16 13:29:27

回答

9

這裏缺少一些信息,即瀏覽器支持,服務器端/客戶端解決方案以及成本是否正常。所以我會盡力給你一個詳盡的答案。

對於客戶端解決方案,您可以使用DocRaptor。只需將SVG樹提供給DocRaptor這適用於SVG生成的瀏覽器(自2005年以來除了版本9之前的IE之外的所有瀏覽器)。請注意,DocRaptor將文檔轉換爲PDF需要支付費用。對於將SVG樹轉換爲PDF的免費服務器端解決方案,我建議使用this answer中建議的wkhtmltopdf

對於Raphaël生產VML的IE6-8,您可以使用Vector Converter庫創建PHP解決方案。從VML到SVG的轉換完成後,將SVG發送到DocRaptor(或wkhtmltopdf)。

沒有免費的客戶端VML/SVG - > PDF解決方案,適用於VML或SVG。要構建這將意味着解釋SVG和/或VML,使用JavaScript創建一個PDF(有JS PDF libraryattempts),並使用some Flash technique發送給客戶端。我想沒有人試圖建立這個。我可能。

+0

詳盡答案 – jbeard4 2011-05-15 22:02:54

+0

[jspdf](https://parall.ax/products/jspdf)將通過html或通過自己的庫函數庫創建PDF。 BTW pdfjs貶值,因爲它非常好! – ejectamenta 2015-02-02 22:20:59

5

pdfkit似乎是要走的路,用browserify使節點代碼運行客戶端。有一個很好的演示here