2

使っています

Windows 7  
Rails 3.2.11  
wkhtmltopdf 0.9.9

gemfileで

gem 'wicked_pdf'

私の初期化子で

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

エグゼはにあります

C:\wkhtmltopdf\wkhtmltopdf.exe

Railsから走るときc

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

次のエラーが発生します...

" * ** * *** \" C:\ wkhtmltopdf \ "
\" file:/// C:/ Users / bob / bob_rail s_demo / Course_Stats / wicked_pdf20130307-6328-7cuwz7.html \ "\" C:/ Users / bob / wful ts_rails_demo / Course_Stats / wicked_pdf_generated_file20130307-6328-n902yj.pdf \ "* * ** * **"RuntimeError:実行に失敗しました:" C:\ wkhtmltopdf "" file:/// C:/ Users / bob / bob_rails_demo / Course_Stats / wicked_pdf20130307-6328-7cuwz7.html "" C:/ Users / bob / 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:/ Users / bob /bob_rails_demo/Course_Stats/wicked_pdf_generated_file20130307-6328-n902yj.pd f "from 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:inpdf_from_string'from(irb):1 from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 1 / lib /rails/commands/console.rb :47:instart' from C:/RailsInstaller/Ruby1.9.3/lib/ruby/gems/1.9.1/gems/railties-3.2.1 1/lib/rails/commands/console.rb:8:instart'from 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:inrequire' from script / rails:6 :in `'

この行をこれに変更すると...

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

次に、railsコマンドラインで実行すると機能しているように見えますが、私のアプリでは、Rackミドルウェアがぶら下がっています...

4

2 に答える 2

1

もともとC:\ Program Files(x86)\ wkhtmltopdf \ wkhtmltopdf.exeにexeがあったことを除いて、同じ問題が発生しました。

だから私はそれをC:\wkhtmltopdf\wkhtmltopdf.exe(あなたがすでに持っている)に変更し、それから私はこれを作り:exe_pathました::exe_path => 'C:\wkhtmltopdf\wkhtmltopdf.exe'

Windows環境で.exeを追加する必要があるのは、Windowsでファイルを明示的にパスする必要があるためだと思います。私がこれを行うと、それは魅力のように機能しました。

それがどうなるか(または行ったか)を教えてください!

于 2013-11-01T21:44:38.843 に答える
0

私は同じ問題に直面しました、そして私にとってのトリックはファイルのパーミッションを変更することでした:

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

于 2021-05-10T12:27:22.213 に答える