如何安装PDFKit? (Rails 3.2.1和PDFKit 0.5.2)

时间:2012-03-18 09:22:18

标签: ruby-on-rails ruby-on-rails-3 installation pdfkit

我正在尝试使用PDFKit。

看起来相当简单,所以我试图关注Ryan's Rails cast

所以我将gem添加到我的GemFile并使用:

更新了我的application.rb
config.middleware.use "PDFKit::Middleware"

之后我在linux上安装了wkhtmltopdf:

apt-get install wkhtmltopdf

我确保它有效:

[nicolas@Minto]%wkhtmltopdf www.google.com gogole.pdf
Loading page (1/2)
Printing pages (2/2)                                               
Done

在我尝试在我的一个页面上添加.pdf之前,一切看起来都很好......

网站永远处于加载状态。当我在控制台中使用Ctrl - C停止服务器时,出现以下错误:

RuntimeError (command failed: "/usr/bin/wkhtmltopdf" "--page-size" "Letter" "--margin-top" "0.75in" "--margin-right" "0.75in" "--margin-bottom" "0.75in" "--margin-left" "0.75in" "--encoding" "UTF-8" "--print-media-type" "--quiet" "-" "-"):
  pdfkit (0.5.2) lib/pdfkit/pdfkit.rb:71:in `to_pdf'
  pdfkit (0.5.2) lib/pdfkit/middleware.rb:21:in `call'

我做错了什么?

4 个答案:

答案 0 :(得分:0)

我最近玩过PDFKit并让它在我的rails应用程序中工作并遇到了类似的问题 您需要的三个步骤是:

  1. 您需要在GemFile中添加 gem“pdfkit”
  2. config.middleware.use PDFKit :: Middleware 放在您已有的 application.rb 文件中。
  3. 尝试将以下代码放在'config / initializers'文件夹下的 pdfkit.rb 文件中。

    PDFKit.configure do | config |

    config.wkhtmltopdf ='C:\ software \ utilities \ wkhtmltopdf \ wkhtmltopdf.exe'#path到你的wkhtmltppdf安装目录

    config.root_url =“http:// localhost”#仅在服务器上的外部主机名不可用时使用。

答案 1 :(得分:0)

好的,

用了几个小时的谷歌搜索,但我终于在另一个stackoverflow问题中找到了解决方案: pdfkit not rendering correctly in rails 3.1

感谢您的帮助。

答案 2 :(得分:0)

我也跟着Ryan's Rails cast

PDFkit依赖于wkhtmltopdf.rb。任何版本> 0.9.9导致PDF创建过程在完成之前挂起,需要Ctrl-C。我使用的是OS X 10.6.8,而不是Linux。但是试试:

wkhtmltopdf --version

如果是> 0.9.9,然后回滚到0.9.9。解决了我的问题。花了我几个小时才弄清楚。

答案 3 :(得分:0)

我们在此处遇到相关问题:PDF Generation hangs using PDFKit and wkhtmotopdf

Beerlington

引用解决方案
  

尝试从HTML中删除任何javascript包含标记,看看是否至少让PDF呈现。如果可行,那么至少你有一个起点。

我试过了,这对我有用。

我认为它与javascript和具有相对路径的样式表等资产有关。