我使用Rails創建了一個Facebook應用程序並託管在Heroku上,並且遇到了一些問題,找到了解決問題的理想方法。我希望用戶能夠在屏幕上移動他們的照片,放置它們,然後將其下載爲PDF或PNG文件,以通過電子郵件發送或打印。我有應用程序獲取用戶的Facebook照片,他們可以將它們拖到HTML5 Canvas元素上以定位它們。然而,將這幅畫布轉換成可打印的東西,是我陷入死衚衕的地方。從Facebook上的Rails應用程序中的照片創建PDF
基本上我有一些想法,我曾嘗試:
轉換畫布使用toDataURL()一個PNG -會完美地工作,但因爲照片是外部的,畫布是「髒」,並拋出出現安全問題。我想過要將每個圖像的像素複製到一個像素陣列,但是我聽說這可能不起作用,或者是由於安全問題。由於該應用正在處理人們的Facebook圖片,我真的不想將它們存儲在應用的服務器上。
使用PDFKit/wkhtmltopdf創建一個PDF使用Rails -我試過這個,但由於該應用程序是一個Sinatra應用程序(我認爲),它讓我感到困惑了很多。它通過to_pdf調用拋出錯誤,說'命令失敗'。我嘗試添加一個config.middleware.use行,但我並不是100%確定將它放在哪裏,而且每個地方似乎都失敗,說「config」是一個未定義的變量。一旦我在localhost之外測試它,安裝wkhtmltopdf似乎在Heroku上失敗。
使用大蝦使用Rails創建一個PDF -我試過蝦,但它似乎也有類似的問題PDFKit,我弄不清楚什麼去哪裏上辛納屈的應用程序。我相信我也讀得很清楚,人們也有問題。
我是否錯過了任何明顯的解決方案,或者是我沒有想到的東西?我想要做的就是創建一種可以輕鬆打印的文件,並且可以很容易地下載和打印,但我遇到了很多問題,我不知道下一步該去哪裏,我要去圓圈。
如果有人對我有什麼建議可以解決這個問題,我會很感激。
這看起來像我需要的東西。如果我可以通過jQuery來做到這一點,那就容易多了。我只是基於教程嘗試了一個類似的插件,它不會呈現任何畫布,所以我會嘗試使用您建議的jqPrint插件,看看它是如何實現的。乾杯! – 2012-07-16 08:56:27
確定只需將所需的所有內容打印在div中(例如id =「print-photos」),加載「jquery.print.js」並調用'$(「#print-photos」)。jqprint();'from按鈕點擊事件或類似事件。 – saihgala 2012-07-16 09:06:40
是的,我給了這個插件一個嘗試,它似乎沒有與Canvas一起工作,它只是給了我一個空白頁。我不確定這是因爲它沒有包含任何Canvas JS代碼,或者它不能以我認爲應該的方式工作。我想我越來越近了。 – 2012-07-16 09:17:31