无法让wkhtmltopdf在rails中工作

时间:2013-02-28 16:35:02

标签: ruby-on-rails-3 wkhtmltopdf wicked-pdf

我正在尝试在rails 3应用程序中使用wicked_pdf。我已经按照所有教程进行操作,我收到了这个错误:

Failed to execute:
"/usr/local/bin/wkhtmltopdf" -q        "file:////var/folders/_b/50kywsc97r95gvr9gy9nr6700000gn/T/wicked_pdf20130228-874-a51lgi.html" "/var/folders/_b/50kywsc97r95gvr9gy9nr6700000gn/T/wicked_pdf_generated_file20130228-874-1ihqg74.pdf"

我知道wkhtmltopdf存在于正确的位置,因为当我键入wkhtmltopdf时,我会看到上面的路径。当我尝试再次安装时,我也被告知它在那里。此外,当我键入wkhtmltopdf google.com google.pdf时,它运行正常。

我的控制器看起来像这样:

def show #shows some material
@material = Material.find(params[:id])
  respond_to do |format|
    format.html
    format.pdf do
      render :pdf => '#{@material.id}',
             :wkhtmltopdf => '/usr/local/bin/wkhtmltopdf'
    end
  end

有什么建议吗?这看起来像是wkhtmltopdf问题还是wicked_pdf问题?我已经安装了捆绑包并捆绑更新了所有内容。我添加了wkhtmltopdf-binary gem(这不应该是必需的)。它在heroku上也不起作用。

2 个答案:

答案 0 :(得分:0)

听起来可能会有一些wkhtmltopdf图片。如果rails试图使用/ usr / local / bin / wkhtmltopdf,请从终端尝试命令/ usr / local / bin / wkhtmltopdf并查看运行该命令是否有任何问题。如果您从不同的gem安装中获得了一些副本,那么在搜索路径中首先运行的那个副本可能不是一个rails正在尝试的。

希望有所帮助

鲍勃

答案 1 :(得分:0)

首先验证二进制文件的位置

  1. 打开终端提示并输入

    $ which wkhtmltopdf

  2. 我机器的退货是

    /usr/local/bin/wkhtmltopdf

    1. 验证二进制文件是否正常运行

      wkhtmltopdf google.com google必须使用Google网页生成pdf

    2. 在初始化程序中创建一个类

    3. Look at my gist

      这就是全部