PDFKit:将生成的 pdf 发送到浏览器但不保存

PDFKit: send the generated pdf to browser but don't save it

是否可以使用 PDFKit 生成 pdf 并将其发送到浏览器而不将文件保存到文件系统? 我正在使用 PDFKit 0.8.2 和 Rails 5.

根据 PDFKit 文档,有一种方法可以像这样获取内联 pdf:

kit = PDFKit.new(html, page_size: 'A4')
pdf = kit.to_pdf

您可以在控制器中使用 send_data 将此 pdf 发送到浏览器。

send_data(pdf,
          filename: 'some_fancy_file_name.pdf',
          disposition: 'attachment',
          type: :pdf)

将这些放在控制器中的一个动作中,就可以了。 (不要忘记添加合适的路线!)

def download_pdf
  html = # render as needed
  kit = PDFKit.new(html, page_size: 'A4')
  pdf = kit.to_pdf

  send_data(pdf,
            filename: 'some_fancy_file_name.pdf',
            disposition: 'attachment',
            type: :pdf)
end