我在Rails 3应用程序中使用RVM设置了PDFKit(必须手动复制wkhtmltopdf二进制文件) . 当我尝试渲染页面的PDF版本时,我收到此错误:
RuntimeError in AgenciesController#show
command failed: ["lib/wkhtmltopdf/wkhtmltopdf", "--disable-smart-shrinking", "--page-size", "Letter", "--margin-top", "0.75in", "--margin-right", "0.75in", "--margin-bottom", "0.75in", "--margin-left", "0.75in", "--encoding", "UTF-8", "--quiet", "\n.......\n", "-"]
以下是我的应用程序.rb:
config.middleware.use "PDFKit::Middleware"
PDFKit.configure do |config|
config.wkhtmltopdf = 'lib/wkhtmltopdf/wkhtmltopdf'
end
想法为什么会这样?我该怎么解决?
在控制台中,我注意到了这条消息:
(sometimes it will work just to ignore this error with --ignore-load-errors)
我在哪里调用那个开关? wkhtmltopdf似乎在命令行上工作正常,我可以做类似“./wkhtmltopdf http://www.google.com google.pdf”的内容并生成PDF .
谢谢你的帮助,
彼得
6 回答
从源代码来看,您可以在pdfkit上设置选项 . 我认为以下内容可行:
(虽然我没试过)
我在谷歌搜索它,并在博客上找到答案 .
解决方案在这里:
安装依赖项
对于64位操作系统按照以下命令逐个运行:
最后,转到rails
app/config/initializer
文件夹并创建新文件pdfkit.rb
并将以下代码粘贴到其中:而已 . 现在将下载您的pdf文件 . 另请访问以获取更多信息:http://www.stormconsultancy.co.uk/blog/development/generating-pdfs-in-rails-with-pdfkit-and-deploying-to-a-server/
谢谢 .
你可能想看一下这个插件wicked pdf
我用过这个黑客 .
which命令在结尾处返回一个新行 .
我在我的ubuntu操作系统上遇到了类似的问题 . 但随后使用https://github.com/pdfkit/pdfkit/wiki/Installing-WKHTMLTOPDF中的指令重新安装了wkhtmltopdf .
从http://code.google.com/p/wkhtmltopdf/downloads/detail?name=wkhtmltopdf-0.9.9-static-i386.tar.bz2&can=2&q=下载二进制文件并将其放在/ usr / local / bin /目录中,这为我解决了一个问题 .
既然你已经安装了wkhtmltopdf,它似乎正在工作,也许可以给wicked_pdf一个机会 . 它在我的Ruby 1.9 Rails 3应用程序中对我很有用 . 它同样简单,但是当你想要一个pdf时,通过明确使用
render :pdf => 'my_template'
,可以更好地控制可以作为pdf呈现的内容 . 当然,如果您愿意,可以将其放在responds_to块中 .ps Incase我不清楚,wicked_pdf也使用wkhtmltopdf .