Разрешение отклонено с использованием 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

Когда я бегу с рельсов 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\" * *< /em>*****" 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" из C:/RailsInstaller/lib/ruby1.9.3/Ruby1.9.3 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: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:instart' из 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' из скрипта/rails:6:in `'

Если я изменю эту строку на эту...

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

Затем запустите его в командной строке rails, похоже, он работает, но в моем приложении промежуточное ПО Rack просто зависает...


person HelloWorld    schedule 07.03.2013    source источник
comment
wkhtmltopdf отлично работает сам по себе в командной строке Windows   -  person HelloWorld    schedule 08.03.2013


Ответы (2)


Я столкнулся с той же проблемой, за исключением того, что изначально мой exe-файл находился в C:\Program Files (x86)\wkhtmltopdf\wkhtmltopdf.exe

Поэтому я изменил его на C:\wkhtmltopdf\wkhtmltopdf.exe (который у вас уже есть), а затем сделал свой :exe_path таким: :exe_path => 'C:\wkhtmltopdf\wkhtmltopdf.exe'

Я считаю, что причина, по которой вам нужно добавить .exe в среду Windows, заключается в том, что Windows должен иметь явный путь к файлу. Как только я это сделал, это сработало как шарм.

Дайте мне знать, как это происходит (или прошло)!

person zillaofthegods    schedule 01.11.2013
comment
я получил wkhmltopdf и wkhtmltopdf.bat в моей папке bin. указание любого из них не работает. - person anubhav16; 12.06.2015

Я столкнулся с той же проблемой, и что помогло мне изменить права доступа к файлу:

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

person Hassan el ashram    schedule 10.05.2021