在Windows 7上,使用ruby的wicked_pdf时出现了“Permission denied”的错误。

3

ruby -v = 1.9.1p378; rails -v = 2.3.8

这段代码指示了Ruby的版本号和Rails的版本号。

wkhtmltopdf在命令行中工作正常,可以生成PDF文件。.exe文件的路径在%PATH%变量中,并且在/config/initializers/wicked_pdf.rb文件中正确地指定。

设置控制器操作来处理.pdf格式,但是我遇到了以下错误:

Permission denied - c:/Ruby191/bin/wkhtmltopdf - -

权限被拒绝 - c:/Ruby191/bin/wkhtmltopdf - -

C:/Ruby191/lib/ruby/1.9.1/open3.rb:67:in 'spawn'  
C:/Ruby191/lib/ruby/1.9.1/open3.rb:67:in 'popen3'  
C:/work/hello/vendor/plugins/wicked_pdf/lib/wicked_pdf.rb:21:in 'pdf_from_string'  
C:/work/hello/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:28:in 'make_pdf'  
C:/work/hello/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:39:in 'make_and_send_pdf'  
C:/work/hello/vendor/plugins/wicked_pdf/lib/pdf_helper.rb:13:in 'render_with_wicked_pdf'  
... controller related code follows ...

我尝试将wkhtmltopdf.exe(和相关文件)放在不同的目录中,并检查这些目录的权限,以允许每个人完全控制。

如果您能指出权限问题可能出现的位置,我们将不胜感激。

请注意:从命令行运行ruby pdftest.rb可以正常工作。

require 'open3'
Open3.popen3('/bin/tools/wkhtmltopdf.exe http://www.google.com/ g.pdf')

PDF 的创建速度非常快,且没有权限问题。可能是 WEBrick 运行账户的问题,但我认为可以通过在包含 wkhtmltopdf.exe 的目录上给予 Everyone 权限来解决这个问题。

1个回答

5

我不得不回答自己的问题。有时候我很蠢。

在 :exe_path 变量中,我只放了exe文件的路径,没有包含 exe文件名 。当我在现有路径末尾添加了 wkhtmltopdf.exe ,我解决了权限问题。

发布这篇文章是为了帮助其他遇到相同问题的人。


显然,它对我不起作用。 在我的C:\Bitnami\rubystack-2.0.0-23\ruby文件夹中没有wkhtmltopdf.exe。我得到了两个文件wkhtmltopdf和wkhtmltopdf.bat。我尝试在:exe_path中使用这些名称,但对我不起作用。 - anubhav16

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接