使用PDFKit下载pdf

时间:2011-12-16 12:57:44

标签: ruby-on-rails pdf pdfkit

我已将pdfkit与我的rails 3应用程序集成,通过将其添加到中间件,它运行良好。 在每个有.pdf的页面上,它会在浏览器中显示该页面的pdf版本。

我想要下载pdf而不是在浏览器中显示。 我怎么能这样做?

由于

2 个答案:

答案 0 :(得分:2)

我实际上也遇到了这个问题。看到这个问题让我更深入地研究这个问题。它有点棘手,但pdfkit确实让你知道至少一种方式请求.pdf。这可能会使用一些清理,但这是我们目前正在做的事情:

respond_with @object do |wants|
  wants.html {
    if request.env["Rack-Middleware-PDFKit"]
      pdf_page = render_to_string :layout => "print_out"
      send_data pdf_page, :filename => "file.pdf"
    else
      render :layout => "print_out"
    end
  }
end

答案 1 :(得分:0)

这很简单,

send_data @pdf, :filename => "whatever.pdf",
            :type => "application/pdf",
            :disposition  => "inline" # either "inline" or "attachment"

带内联选项(在浏览器中查看pdf文件) 或附件选项(pdf文件已下载)