Ruby PDFKit bug

liker · 2013年08月21日 · 最后由 liker 回复于 2013年08月22日 · 2915 次阅读

application.rb

require File.expand_path('../boot', __FILE__)
require 'rails/all'
require 'pdfkit'
Bundler.require(:default, Rails.env)

module PdfTest
  class Application < Rails::Application
    config.middleware.use PDFKit::Middleware, :print_media_type => true
  end
end

config/initializers/pdfkit.rb

PDFKit.configure do |config|
  config.wkhtmltopdf = '/usr/local/bin/wkhtmltopdf'
end

controller

respond_to :html, :pdf

然后写了一个 test.html.erb 页面 后缀加上".pdf" 报如下错误 请指教一二,谢谢

可能是没有 gem install wkhtmltopdf

如果装了,在命令行下面试试那个命令,看看错误信息是什么

#1 楼 @luikore which wkhtmltopdf

/usr/local/bin/wkhtmltopdf

#2 楼 @liker

命令行

echo hello | wkhtmltopdf - - > a.pdf

能生成文件么?

#3 楼 @luikore 不好意思 回复晚了 能

那这个能成功么?

echo foo | wkhtmltopdf --page-size Letter --margin-top 0.75in --margin-right 0.75in --margin-bottom 0.75in --margin-left 0.75in --encoding UTF-8 --print-media-type --quiet - - > a.pdf

#6 楼 @liker 好吧,搞不懂了 ... 程序有没有挂起或者退出代码 != 0 ?

你能不能写一个简单的例子 我用的 rails 4.0

#8 楼 @liker 没用过 pdfkit... 可能要给 qt 打补丁 wkhtmltopdf 才能正常运作 ...

#9 楼 @luikore 能加好友么 我 QQ1218089628

#11 楼 @luikore 运行".pdf"后 一直这种状态

#11 楼 @luikore 为什么要把这两行去掉才能运行。。如果不去掉,应该怎么修改? application.html.erb

<%= stylesheet_link_tag    "application", media: "all", "data-turbolinks-track" => true %>
<%= javascript_include_tag "application", "data-turbolinks-track" => true %>

#14 楼 @luikore 不是这儿的原因。还有其他可能么?

#15 楼 @liker 去掉 turbolinks 还不行?那就不知道了...

#16 楼 @luikore 表示很头疼。已经去掉了 那三步。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号