使用wicked_pdf拒绝权限

时间:2013-03-07 22:41:38

标签: windows ruby-on-rails-3 windows-7 wicked-pdf

我正在使用

Windows 7  
Rails 3.2.11  
wkhtmltopdf 0.9.9
宝石文件中的

gem 'wicked_pdf'

在我的初始化程序中

WickedPdf.config = { :exe_path => 'C:\wkhtmltopdf' }

Exe位于

C:\wkhtmltopdf\wkhtmltopdf.exe

当我从rails c

运行时
irb(main):001:0> WickedPdf.new.pdf_from_string('<h1>Hello There!</h1>')

我收到以下错误...

  

“的 * ** * *** \” C:\ wkhtmltopdf \“
  \“文件:/// C:/用户/鲍勃/ bob_rail   s_demo / Course_Stats / wicked_pdf20130307-6328-7cuwz7.html \”   \“C:/用户/鲍勃/ wful   ts_rails_demo / Course_Stats / wicked_pdf_generated_file20130307-6328-n902yj.pdf \“*    * ** * ** “运行时错误:无法执行:”C:\ wkhtmltopdf“”file:/// C:/ Users /鲍勃/ bob_rails_demo / Course_Stats /   wicked_pdf20130307-6328-7cuwz7.html”   “C:/用户/鲍勃/ bob_rails_demo / Course_S   tats / wicked_pdf_generated_file20130307-6328-n902yj.pdf“错误:   权限被拒绝 - “C:\ wkhtmltopdf”“file:/// C:/ Users / bob / wful   ts_rails_demo / Course_Stats / wicked_pdf20130307-6328-7cuwz7.html”   “C:/用户/鲍勃   /bob_rails_demo/Course_Stats/wicked_pdf_generated_file20130307-6328-n902yj.pd   F”           来自C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/wicked_pdf-0.9   .4 / lib / wicked_pdf.rb:50:in rescue in pdf_from_string' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/wicked_pdf-0.9 .4/lib/wicked_pdf.rb:34:in pdf_from_string'           来自(irb):1           来自C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1   1 / lib / rails / commands / console.rb:47:in start' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 1/lib/rails/commands/console.rb:8:in start'           来自C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1   1 / lib / rails / commands.rb:41:in <top (required)>' from script/rails:6:in require'           来自script / rails:6:in''

如果我将此行更改为此...

WickedPdf.config = { :exe_path => 'C:\wkhtmltopdf\wkhtmltopdf.exe' }

然后在rails命令行中运行它似乎工作,但在我的应用程序Rack中间件只是挂...

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,除了最初我的exe位于C:\ Program Files(x86)\ wkhtmltopdf \ wkhtmltopdf.exe

所以我将其更改为C:\wkhtmltopdf\wkhtmltopdf.exe(您已经拥有),然后我将:exe_path改为:exe_path => 'C:\wkhtmltopdf\wkhtmltopdf.exe'

我相信你必须在Windows环境中添加.exe的原因是因为windows需要明确地修改文件。一旦我这样做,它就像一个魅力。

让我知道它是怎么回事(或者去了)!

答案 1 :(得分:0)

我遇到了同样的问题,对我来说改变文件权限的诀窍是什么:

chmod o+w /usr/local/bundle/gems/wkhtmltopdf-binary-0.12.6.5/bin/