4

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

我希望下载 pdf 并且不显示在浏览器中。我怎样才能做到这一点?

谢谢

4

2 回答 2

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
于 2012-04-19T22:22:07.077 回答
0

这很容易,

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

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

于 2013-11-22T02:18:13.830 回答