ROR应用程序中的WKHTMLTOPDF路径

时间:2015-04-18 09:44:14

标签: ruby-on-rails wkhtmltopdf

我正在使用wicked_pdf gem进行HTML到PDF的转换。根据Github中的描述,我正确安装了一切。但我收到运行时错误 -

RuntimeError(Bad wkhtmltopdf'路径:/ usr / local / bin / wkhtmltopdf):   app / controllers / orders_controller.rb:46:在`create

`44 @count = Item.count(:qty)
45  @temp = Item.where(:received => true).count()
46  render  :pdf => "Bill" ,
47  :template => 'orders/create.pdf.erb', # Excluding ".pdf" extension.
48  page_height:  100,
49  page_width:   80`

和wkhtmltopdf在我的系统中安装在/ usr / local / bin / wkhtmltopdf

指定wkhtmltopdf的路径应该是已经安装的路径。

我无法弄清问题是什么。

4 个答案:

答案 0 :(得分:4)

在wkhtmltopdf的源代码中,看起来它正在运行的是File.exists?在那条路上:

https://github.com/mileszs/wicked_pdf/blob/56aa1a195d65eaaf33fbd0254e1e7df99ce1fd1c/lib/wicked_pdf.rb#L41

所以我们要仔细检查wkhtmltopdf在/usr/local/bin/wkhtmltopdf正确安装的假设

你能提供更多信息吗?只是为了验证which wkhtmltopdf

的输出是什么

当您在控制台中运行wkhtmltopdf -V时,您会得到什么?

您可以尝试在配置中指定路径(在wkhtmltopdf自述文件中提到的初始化程序中),看看是否也会产生影响。

最后,您可以将可执行文件移动到其他目录,然后在初始化程序中指定它是否可能与文件夹权限有关。

答案 1 :(得分:3)

wkhtmltopdf将安装到started streaming WAL from primary at A/B3000000 on timeline 2 FATAL: could not receive data from WAL stream: ERROR: requested WAL segment 000000020000000A000000B3 has already been removed FATAL: could not connect to the primary server: could not connect to server: Connection timed out Is the server running on host "master ip" and accepting TCP/IP connections on port 5432? record with incorrect prev-link 33018C00/0 at 0/D8E15D18 中,但预期安装在/usr/bin/wkhtmltopdf上。

要解决此问题,只需将符号链接创建为(可能需要使用sudo):

/usr/local/bin/wkhtmltopdf

答案 2 :(得分:2)

您是否尝试在初始化程序中指定路径? ({rails.root} /config/initializers/wicked_pdf.rb)ex ..

WICKED_PDF = {
    :exe_path => '/usr/local/bin/wkhtmltopdf-amd64'#should be whatever your version is called
}

答案 3 :(得分:0)

我遇到了类似的问题。尝试重新安装gem并安装库以支持该gem。 这是在mac和ubuntu中安装该库的链接:

guide

unable to install wkhtmltopdf with patched qt in ubuntu 16.04