2011-05-19 132 views
5

按照關於https://github.com/jordan-brough/heroku-pdf的指導,我設法讓wicked_pdf在本地工作並按預期創建PDF。 然而,一旦我推到Heroku的,經過一段時間的應用程序崩潰每次我打電話的PDF無法讓wicked_pdf在heroku上工作? (但它在本地工作)

日誌給了我這樣的:

2011-05-19T06:36:56+00:00 app[web.1]: Started GET "/authors/cash_payment_receipt/4dd4aff0a2d5a5000100000c.pdf" for XXX.XXX.XXX.XXX at Wed May 18 23:36:56 -0700 2011 
2011-05-19T06:36:56+00:00 heroku[router]: Error H13 (Connection closed without response) -> GET xxx.xxxx.com/authors/cash_payment_receipt/4dd4aff0a2d5a5000100000c.pdf dyno=web.1 queue=0 wait=0ms service=0ms bytes=0 
2011-05-19T06:36:56+00:00 app[web.1]: !! Unexpected error while processing request: PDF could not be generated! 
2011-05-19T06:36:56+00:00 app[web.1]: /app/.bundle/gems/ruby/1.8/gems/wkhtmltopdf-0.1.2/bin/wkhtmltopdf_linux_386: error while loading shared libraries: libfontconfig.so.1: cannot open shared object file: No such file or directory 

我加入了wkhtmltopdf斌到我的軌道根/ bin目錄,檢查了權利,並沒有問題。我首先嚐試了0.10rc2並將其移回到0.9.9,但它們都給出了相同的結果。

我無法找到谷歌任何有關我的錯誤。我沒有看到我做錯了什麼。

的ENV是: - 導軌3.0.7 - 紅寶石1.8.7

感謝,

啤酒

+0

我證明這個問題的答案很詳細這裏http://stackoverflow.com/a/16577677/307308 – scarver2 2013-05-16 02:26:53

回答

5

this github項目是非常有幫助的,我有它在軌運行3感謝這個

8

我最近建立了一個創業板的wkhtmltopdf二進制文件在Heroku上,您無需在自己的倉庫安裝任何的二進制文件。它還包含了用於開發的OSX(達爾文)二進制文件。它曾與PDFKit,而且也應該與WickedPDF工作以及

https://github.com/bradphelan/wkhtmltopdf-heroku 

或在您的Gemfile作爲

gem "wkhtmltopdf-heroku" 
+0

我使用pdfkit生成PDF的.. 。爲了生產目的,我將你的寶石包含在製作組中,並將我的應用程序推送到heroku,但未能生成pdf。我錯過了什麼?你有沒有實施你的寶石的任何文檔? – prem 2013-09-02 12:30:43

2

爲了記錄在案,我的經歷:這工作完全在我們的舞臺ENV(相同的Heroku設置),但部署到生產可以打破上面的錯誤(但並非總是)。

發生這種情況時,重新部署工作(不知道爲什麼)。因爲它是一個git回購,你必須做一個小小的改動,否則它不會讓你再推一次。

0

我有同樣的問題。我通過使用wkhtmltopdf二進制文件的amd64版本而不是i386來修復它。

1

的wicked_pdf使用wkhtmltopdf到HTML轉換爲PDF(正如其名字顯然狀態)。您可以下載其二進制文件here,並將其放置在您的應用程序bin文件夾中。

您還需要創建一個wicked_pdf.rb初始化指向二進制:

# config/initializers/wicked_pdf.rb 

WickedPdf.config = { 
    :exe_path => Rails.root.join('bin', 'wkhtmltopdf-amd64').to_s, 
} 

但是,如果你需要輸入圖像轉換成PDF文件,你需要一個X服務器上運行。既然你不能運行的Heroku一個X服務器,有兩種出路:

  • 使用xvfb到虛擬X服務器環境中包裝你wkhtmltopdf二進制
  • 在另一臺服務器上安裝HTML到PDF提供商,您可以獲得更多靈活性,例如RackSpace或Amazon EC2中的VPS。

我更喜歡第二種選擇,因爲它將PDF創建分離到另一個服務器中,並且不會影響具有性能問題的其他應用程序。

你可以看到如何做到這一點的位置:http://blog.hugerepo.com/2013/04/29/how-to-create-your-own-html-to-pdf-provider/

+1

這是否適用於pdfkit?並會寶石「wkhtmltopdf-heroku」做任何幫助,以方便安裝? – prem 2013-08-24 09:20:10

相關問題